我有以下代码:
DateFormat dateFormat = new SimpleDateFormat(SQL_SERVER_DATE_FORMAT);
Date startDate;
startDate = (Date) dateFormat.parse(some_string_represents_date_received_from_sql_server);
其中SQL_SERVER_DATE_FORMAT为:
public static final String SQL_SERVER_DATE_FORMAT = "yyyy-mm-dd'T'HH:mm:ss";
由于某种原因
some_string_represents_date_received_from_sql_server = '2014-02-05T12:15:59.417'
我错误地将此转换为1388916959000
刻度,表示Sun Jan 05 12:15:59 GMT+02:00 2014
。
当我有
some_string_represents_date_received_from_sql_server = '2014-01-30T16:30:00.437'
我将此正确转换为1391092200000
刻度,表示Thu Jan 30 16:30:00 GMT+02:00 2014
。
有什么想法吗?
答案 0 :(得分:6)
尝试DateFormat
解析为public static final String SQL_SERVER_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss";
而不是public static final String SQL_SERVER_DATE_FORMAT = "yyyy-mm-dd'T'HH:mm:ss";
答案 1 :(得分:5)
在您的日期格式中,您指定分钟( mm )而不是月份( MM )。