java 如何在unix中转换日期为long值
我写了个但还试报错。。public static long getSqlTime1(String dateStr)
{
try {
long result = 0;
if (!dateStr.equals("")){
Date date3 = DateFormat.getDateInstance().parse(dateStr);
Calendar now1 = Calendar.getInstance();
now1.setTime(date3); result = now1.getTimeInMillis() * 1000;
}
return result ;
} catch (ParseException e) {
e.printStackTrace();
return -1 ;
}
}
error:
java.text.ParseException: Unparseable date: "2009-12-29 21:21:51"
java.text.DateFormat.parse(DateFormat.java:352)
我写了个但还试报错。。public static long getSqlTime1(String dateStr)
{
try {
long result = 0;
if (!dateStr.equals("")){
Date date3 = DateFormat.getDateInstance().parse(dateStr);
Calendar now1 = Calendar.getInstance();
now1.setTime(date3); result = now1.getTimeInMillis() * 1000;
}
return result ;
} catch (ParseException e) {
e.printStackTrace();
return -1 ;
}
}
error:
java.text.ParseException: Unparseable date: "2009-12-29 21:21:51"
java.text.DateFormat.parse(DateFormat.java:352)
public static long getSqlTime1(String dateStr) {
try {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr).getTime();
} catch (ParseException ex) {
try {
return DateFormat.getDateInstance().parse(dateStr).getTime();
} catch (ParseException ex1) {
}
}
return -1;
}
public static String getFormatDateTime(String dateStr)
{
if (dateStr == null || dateStr.equals("")) return "" ;
String pattern = "yyyy-MM-dd HH:mm:ss" ;
SimpleDateFormat sf = new SimpleDateFormat(pattern);
Date d = null ;
try
{
d = DateFormat.getDateTimeInstance().parse(dateStr);
}
catch(ParseException e)
{
e.printStackTrace() ;
}
return sf.format(d) ;
}
我在window下的这个方法没有问题,到unix下就报错了不清楚怎么回事。。
在Linux下测试了一下,没有错误,把你的错误贴上来看看
你上面声明的 sf 这个做什么用? 应该用 sf.parse(dateStr)
public static String getFormatDateTime(String dateStr){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:MM:ss");
return sdf.format(sdf.parse(dateStr));
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");
return sdf.parse(dateStr).getTime();
}
这个是将时间返回自1970-01-01 00:00:00 以来此 Date 对象表示的毫秒数。格林威治时间的Long型