我正在尝试做一个将格式格式化为Date对象的长毫秒值的函数:
public static Date parseDate(long millisec, String format) {
try {
SimpleDateFormat formatter = new SimpleDateFormat(format);
Date formattedDate = new Date(millisec);
formatter.format(formattedDate);
return formattedDate;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
我插入该函数的格式是:“
dd-MM-yyyy HH-mm:ss
”而且我仍然得到以下结果格式:“
Thu Apr 19 19:51:22 SGT 2012
”任何想法为什么我会得到这种结果?
最佳答案
仅当您输出日期时才应用该格式(实际上,该格式用于将日期转换为字符串)。它不会更改日期的内部表示。
在您的情况下,formattedDate
对象将不受任何影响。
一种查看字符串表示形式的方法是这样的:
String dateString = formatter.format(formattedDate);
System.out.println(dateString);
这就像数字的底数。您可以对数字进行许多不同的可视化处理,例如
format
或101(2)
,但是它们仅在显示数字时才有意义。否则,当您更改基数时,数字本身的值不会更改。关于java - 使用格式长时间解析到Date对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10227773/