在java中仅从new Date()获取时区字段
要求:我只想从新日期()中获取时区字段,从现在的新日期()中,我得到的结果如下
Wed Jul 23 19:37:20 GMT+05:30 2014,但我只想要GMT+05:30,有没有办法只得到这个
注:我不想使用分割来获取时区字段。因为这是我实现上述要求的最终选择
你可以在下面搜索框中键入要查询的问题!
要求:我只想从新日期()中获取时区字段,从现在的新日期()中,我得到的结果如下
Wed Jul 23 19:37:20 GMT+05:30 2014,但我只想要GMT+05:30,有没有办法只得到这个
注:我不想使用分割来获取时区字段。因为这是我实现上述要求的最终选择
# 1 楼答案
导入java。util包并使用GregoriaCalendar方法
不要使用java的日期和时间类。util包,因为它们的方法已被弃用,这意味着未来版本的JDK可能不支持它们
# 2 楼答案
假设您必须使用
String
输入,您可以执行以下操作:# 3 楼答案
您应该使用
Calendar
类,可能还应该使用GregorianCalendar
实现。许多Date
函数被弃用,转而使用Calendar
。Java8有Clock
API,但我在这里假设Java7这样你就可以做到:
从那里开始工作
# 4 楼答案
生成带有偏移量但没有日期和时间的字符串
你的问题不准确。爪哇。util。日期没有时区(假定始终为UTC)。JVM的时区应用于对象
toString
方法和其他生成字符串表示的格式化代码中。这就是你的解决方案:使用一个日期时间格式化程序,它生成一个字符串,只包含与UTC的偏移量,而不包含日期或时间部分避免
java.util.Date
&.Calendar
避免使用捆绑的java。util。日期和日期。日历类是出了名的麻烦。而是使用Joda Time或新的java。时间包。两者都支持时区作为日期时间对象的一部分
乔达时间
下面是如何在Joda Time 2.3中生成日期时间的字符串表示
在Joda Time 2.3中,您可以要求DateTime对象将其指定的时区作为对象。然后可以询问DateTimeZone对象