SimpleDateFormat DATE_TIME_FORMAT = new SimpleDateFormat("yyyyMMddHHmmss");
try {
String timeString=new String("19860821130102");
Log.v(TAG, "timeString=" + timeString);
java.util.Date date = DATE_TIME_FORMAT.parse(timeString);
Log.v(TAG, date.toString());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我使用上面的代码片段来解析字符串至今。
logcat结果是
timeString = 19860821130102
1986年8月21日星期四14:01:02 GMT + 08:00
我认为小时字段应该是13,而不是14。
这让我感到困惑。
有什么帮助吗?
最佳答案
你可以试试这个
SimpleDateFormat DATE_TIME_FORMAT = new SimpleDateFormat("yyyyMMddHHmmss");
SimpleDateFormat Parsed_DATE_TIME_FORMAT = new SimpleDateFormat("yyyyMMddHHmmss");
try {
String timeString=new String("19860821130102");
Log.v(TAG, "timeString=" + timeString);
TimeZone destTimeZone = TimeZone.getDefault();
Log.v=(TAG, "Source TimeZone: " + destTimeZone);
DATE_TIME_FORMAT.setTimeZone(destTimeZone);
String convertedDateString = DATE_TIME_FORMAT.format(DATE_TIME_FORMAT.parse(timeString));
Log.v(TAG, "ConvertedDateString: " + convertedDateString);
java.util.Date date = Parsed_DATE_TIME_FORMAT.parse(convertedDateString, new ParsePosition(0));
Log.v(TAG, "ConvertedTime: " + date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}