在java中将IST转换为PST
嗨 我有一个日期/时间字段,我想在java中将当前IST转换为当前PST。。。需要帮助 例如:现在在IST中:在java中将IST转换为PST,java,datetime,Java,Datetime,嗨 我有一个日期/时间字段,我想在java中将当前IST转换为当前PST。。。需要帮助 例如:现在在IST中:13/may/2011 3.32.58pm希望在PST中也一样,即13/may/2011 3.02.58am 谢谢……。如果您对当前时间感兴趣,您根本不需要了解IST。。。只有当前实例,以及到PST的转换。您可以通过以下方式完成此操作: Date now = new Date(); TimeZone zone = TimeZone.getTimeZone("America/Los_Ang
13/may/2011 3.32.58pm
希望在PST中也一样,即13/may/2011 3.02.58am
谢谢……。如果您对当前时间感兴趣,您根本不需要了解IST。。。只有当前实例,以及到PST的转换。您可以通过以下方式完成此操作:
Date now = new Date();
TimeZone zone = TimeZone.getTimeZone("America/Los_Angeles"); // For example...
DateFormat format = new SimpleDateFormat("..."); // Put your pattern here
format.setTimeZone(zone);
String text = format.format(now);
就我个人而言,我建议您将其用于所有日期/时间工作,因为它是一个更好的API—但在本例中,即使使用内置API,它也非常简单。是正确的,但现在随着Java 8及更高版本中代码的出现,它已经过时
java.time
该类表示时间线上的一个时刻,分辨率为(小数点的九(9)位)
获取UTC中的当前时刻
Instant instant = Instant.now();
调整到一个时区
以大陆/地区
的格式指定,例如,或太平洋/奥克兰
。切勿使用3-4个字母的缩写,如EST
或IST
,因为它们不是真正的时区,也不是标准化的,甚至不是唯一的(!)
要生成标准格式的字符串,请调用toString
。对于其他格式,请使用许多其他问题和答案中已经介绍过的课程
String output = zdt.format( myDateTimeFormatter );
具体来说,在中看到相同的时刻
我不确定你所说的IST是指印度标准时间还是爱尔兰标准时间。我们也来看看欧洲/都柏林。该区域当前恰好使用零偏移量,+00:00
。因此,它与UTC相同
ZoneId zDublin = ZoneId.of( "Europe/Dublin" );
ZonedDateTime zdtDublin = zdt.withZoneSameInstant( zDublin );
看这个
instant.toString():2017-02-13T07:28:57.738Z
zdt.toString():2017-02-12T23:28:57.738-08:00[美国/洛杉矶]
zdtKolkata.toString():2017-02-13T12:58:57.738+05:30[亚洲/加尔各答]
ZDTPublin.toString():2017-02-13T07:28:57.738Z[欧洲/都柏林]
关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,& 该项目现已启动,建议迁移到类 要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是 从哪里获得java.time类
- 后来
- 内置的李>
- 标准JavaAPI的一部分,带有捆绑实现
- Java9添加了一些次要功能和修复
- 及
- 大部分java.time功能都在中向后移植到Java6和Java7
-
- 该项目专门为Android采用了ThreeTen Backport(如上所述)
- 看
ZoneId zKolkata = ZoneId.of( "Asia/Kolkata" );
ZonedDateTime zdtKolkata = zdt.withZoneSameInstant( zKolkata );
ZoneId zDublin = ZoneId.of( "Europe/Dublin" );
ZonedDateTime zdtDublin = zdt.withZoneSameInstant( zDublin );