Ana*_*rai 1 java timezone calendar
我正在寻找一种方法来根据用户输入获得各种时区的当前时间.我知道我可以使用Joda Time!但这是唯一的方法吗?
这样做是不是Java中有一个选项?我尝试了以下代码,为所有3个sysout提供相同的输出.
Calendar pst = Calendar.getInstance(TimeZone.getTimeZone("PST"));
System.out.println("PST " + pst.getTime());
Calendar ist = Calendar.getInstance(TimeZone.getTimeZone("Asia/Calcutta"));
System.out.println("IST " + ist.getTime());
Calendar utc = Calendar.getInstance(TimeZone.getTimeZone("Etc/UTC"));
System.out.println("UCT " + utc.getTime());
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么来获得其他时区的当前时间?
是的,这会在每种情况下(或相隔毫秒)显示相同的值,因为三个日历都指向同一时刻(尽管执行时间),这就是一个java.util.Date代表的全部.这是结果Calendar.getTime().
但是,它Calendar本身确实知道时区,并且会在您使用时反映出来Calendar.get.当您使用a时,也可以使用它SimpleDateFormat,您可以在其中指定特定时区.
// Specify whatever format you want - bear in mind different locales etc
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
format.setTimeZone(calendar.getTimeZone());
String text = format.format(calendar.getTime());
Run Code Online (Sandbox Code Playgroud)
目前还不清楚你要做什么,但基本上你需要知道哪些类型是时区可识别的,哪些不是.理解a java.util.Date没有格式,日历系统或时区非常重要:它只是自Unix时代以来的毫秒数.
| 归档时间: |
|
| 查看次数: |
1265 次 |
| 最近记录: |