快速提问,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
我做错了什么?
答案 0 :(得分: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
有关详细信息,请参阅documentation。
答案 1 :(得分:2)
原来我正在使用的设备在从工厂到达时没有默认的语言环境。作为解决方法,我使用了Locale
的{{1}}特定重载:
SimpleDateFormat
答案 2 :(得分:1)
你试过了吗?
_clockDateFormat = new SimpleDateFormat("EEEE dd MMMM kk:mm");
答案 3 :(得分: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',则会出错!!!