Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中将IST转换为PST_Java_Datetime - Fatal编程技术网

在java中将IST转换为PST

在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

嗨 我有一个日期/时间字段,我想在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_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(如上所述)
该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可以在这里找到一些有用的类,例如、、和

ZoneId zKolkata = ZoneId.of( "Asia/Kolkata" );
ZonedDateTime zdtKolkata = zdt.withZoneSameInstant( zKolkata );
ZoneId zDublin = ZoneId.of( "Europe/Dublin" );
ZonedDateTime zdtDublin = zdt.withZoneSameInstant( zDublin );