Sri*_*osh 5 java gregorian-calendar
我正在尝试获取其他时区的当前时间。我为此使用了此代码:
GregorianCalendar calender = new
GregorianCalendar(TimeZone.getTimeZone("Asia/Bangkok"));
System.out.println(calender.getTime());
Run Code Online (Sandbox Code Playgroud)
但是,当我运行这段代码时,这段代码提供了 CET 中的当前时间,因为我本地机器中的时间是 CET 中的。我很迷惑。那么为什么在构造函数中有提供 TimeZone 的范围呢?
啊,Java 日期/时间 API 的乐趣...
您想要的(除了更好的 API,例如 Joda Time)是一个DateFormat. 它可以打印您指定的时区的日期。你不需要Calendar那个。
dateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Bangkok"));
dateFormat.format(new Date());
Run Code Online (Sandbox Code Playgroud)
Calendar用于时间操作和计算。例如“将时间设置为上午 10 点”。然后它需要时区。
完成这些计算后,您可以通过调用calendar.getTime()返回Date.
ADate本质上是一个通用时间戳(自 1970 年以来以毫秒为单位,没有附加或相关的时区信息)。如果你调用toStringaDate它只会打印你的默认时区的内容。如需更多控制,请使用DateFormat.
| 归档时间: |
|
| 查看次数: |
312 次 |
| 最近记录: |