3

快速的问题,SimpleDateFormat没有像我预期的那样表现。我正在寻找一个看起来像的日期字符串Thursday 29 November 13:43

这是我的格式:

Calendar c = Calendar.getInstance();  
_clockDateFormat = new SimpleDateFormat("cccc dd MMMM kk:mm");  
_clockDateFormat.format(c.getTime());

这是输出:

5 29 11 13:43

我究竟做错了什么?

4

4 回答 4

3

而不是c使用E

Calendar c = Calendar.getInstance();  
SimpleDateFormat _clockDateFormat = new SimpleDateFormat("EEEE dd MMMM kk:mm");  
System.out.println(_clockDateFormat.format(c.getTime())); 

输出:

11 月 29 日星期四 14:05

有关更多信息,请参阅文档

于 2012-11-29T19:05:38.993 回答
2

原来我正在使用的设备从工厂运到这里时没有默认语言环境。作为一种解决方法,我使用了Locale特定的重载SimpleDateFormat

_clockDateFormat = new SimpleDateFormat("EEEE dd MMMM HH:mm", Locale.US);

于 2012-11-29T19:29:30.537 回答
1

你有没有尝试过:

 _clockDateFormat = new SimpleDateFormat("EEEE dd MMMM kk:mm");
于 2012-11-29T19:05:46.313 回答
1

在我的电脑中,我尝试了以下

 Calendar c = Calendar.getInstance();  
    SimpleDateFormat _clockDateFormat = new SimpleDateFormat("yyyy dd MMMM kk:mm");  
    _clockDateFormat.format(c.getTime());
    System.out.println(_clockDateFormat.format(c.getTime()));

如果我在 simpledateformat 中使用 'cccc' 会出错!!!

于 2012-11-29T19:07:37.337 回答