0

我正在运行下面编写的程序,但不是以 mm/dd/yyyy hh:mm 格式打印,而是以正常日期格式(即日期和时间)打印

SimpleDateFormat sdf = new SimpleDateFormat("mm/dd/yyyy hh:mm");
Date date = sdf.parse(sdf.format(Calendar.getInstance().getTime()));

我这样做的原因是因为现有方法接受日期格式的参数,所以我需要将上述日期对象发送给它。

请指出错误或提出其他替代方案。谢谢

4

3 回答 3

7

日期对象没有格式。Date 类是一个 long 的包装器,即自纪元以来的毫秒数。你不能“格式化”一个日期,只能是一个字符串。在内部传递日期/日历,并在需要显示、记录或以其他方式将其返回给用户时对其进行格式化。

于 2013-09-24T11:57:20.070 回答
1

将格式更改为 MM/dd/yyyy。月份用大写 M 表示。

检查以下 URL 以获取有效格式

http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

于 2013-09-24T11:58:05.087 回答
1

您的格式化程序工作得很好(除了 mm 与 MM 错误)。您从日期中获取格式化字符串,然后通过解析格式化字符串从您的日期创建副本:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm");
Date now = Calendar.getInstance().getTime();
String formattedNow = sdf.format(now); // == "09/24/2013 01:59"
Date now2 = sdf.parse(formattedNow); // == now
于 2013-09-24T12:05:51.023 回答