我正在尝试做一个将格式格式化为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);


这就像数字的底数。您可以对数字进行许多不同的可视化处理,例如format101(2),但是它们仅在显示数字时才有意义。否则,当您更改基数时,数字本身的值不会更改。

关于java - 使用格式长时间解析到Date对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10227773/

10-12 03:27
查看更多