我使用下面的代码以特定格式获取当前时间,然后想要打印时间戳。
SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd hh:mm:ss.ms");
String formattedDate = dateFormat.format(new Date());
Date curDate = null;
try {
curDate = dateFormat.parse(formattedDate);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.i(Config.TAG,"curDate...... "+curDate);
但当我看到Logcat输出“curDate .....”显示“Mon Jul 13 04:11:51 EDT 1970” 但在上述陈述中,会议记录错误。 但在我的Android设备中,时间显示为“04:40 AM”。
我无法弄清楚为什么上述方法会延迟“29”分钟。??
PL。让我知道这是正确的方法。 如果我错过了什么,请告诉我。
答案 0 :(得分:2)
我怀疑这是格式字符串中的“ms”部分,这让人感到困惑。我认为你的意思是“SS”。另外,鉴于您没有AM / PM说明符,您可能需要24小时格式而不是12小时格式:
SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd HH:mm:ss.SS");
(顺便说一下,你真的
答案 1 :(得分:0)
添加到Jon的答案:对问题的解释:
如果您尝试以下操作:
SimpleDateFormat dateFormat = new SimpleDateFormat("ms");
String formattedDate = dateFormat.format(new Date());
Date curDate = dateFormat.parse(formattedDate);
System.out.println(formattedDate);
System.out.println(curDate);
打印类似
的内容3632
Thu Jan 01 00:13:32 CET 1970
这是因为解析器威胁'3'为分钟,'632'为秒 3分632秒是13分32秒。