我正在尝试使用SimpleDateFormat做一些事情,但在我阅读Javadoc之后,我只会感到更加困惑.我想要两个方法,一个用于时区,一个用于当前时间和日期.我的格式应如下所示:
Time Zone: GMT +01:00
Time and Date: Wednesday 17/04/2013, 20:38:34
Run Code Online (Sandbox Code Playgroud)
我一次从互联网上获取代码.这工作得很好:
private String getFormattedTime() {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
return sdf.format(cal.getTime());
}
Run Code Online (Sandbox Code Playgroud)
这将输出:20:41:34
现在我的其他格式,我尝试过这样的事情(我还没完成):
private static String getFormattedDate() {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("EEEEEEEEE DD/MM/yyyy, HH:mm:ss");
return sdf.format(cal);
}
private static String getTimeZone() {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("z");
return sdf.format(cal.getTimeZone());
}
Run Code Online (Sandbox Code Playgroud)
如果您运行此代码,则会在第一return行收到IllegalArgumentException .
似乎Javadocs没有给出如何使用它的任何示例.
SimpleDateFormat作用于日期,而不是日历.要转换,请使用.getTime(),因此您的代码应为:
private static String getFormattedDate() {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("EEEEEEEEE dd:MM:yyyy, HH:mm:ss");
return sdf.format(cal.getTime());
}
private static String getTimeZone() {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("z");
return sdf.format(cal.getTime());
}
Run Code Online (Sandbox Code Playgroud)
然而,使用joda可能是一个更好的方法,因为我可以写博士论文.
| 归档时间: |
|
| 查看次数: |
1141 次 |
| 最近记录: |