Tin*_*iny 1 java datetime date utc jodatime
我需要将Joda-Time日期/时间转换为java.util.Date.我做的如下.
DateTimeFormatter dateTimeFormatter=DateTimeFormat.forPattern("dd-MMM-yyyy hh:mm:ss aa");
DateTime dateTime = dateTimeFormatter.parseDateTime("2-Oct-2013 11:34:26 AM").withZone(DateTimeZone.UTC);
System.out.println(dateTime);
Run Code Online (Sandbox Code Playgroud)
这将按预期显示由UTC区域表示的日期/时间.在这种情况下,它是2013-10-02T06:04:26.000Z
当dateTime转换java.util.Date为如下时,
System.out.println(dateTime.toDate());
Run Code Online (Sandbox Code Playgroud)
它表明,Wed Oct 02 11:34:26 IST 2013.它应该是UTC格式.
从Joda-Time转换后有没有办法表示Datein UTC?
我希望将日期存储到由UTC区域表示的数据库中. org.joda.time.DateTime需要在将其插入数据库之前转换为java.util.Date(或java.sql.Timestamp).如何克服这种情况?
java.util.Date每个定义的对象始终是UTC!
(时间戳是自1.1.1970 UTC以来的毫秒数)
但是你必须在时间格式化之前将timeZone设置为utc:
TimeZone utc = TimeZone.getTimeZone("UTC")
SimpleDateFormatter df = new SimpleDateFormatter (PATTERN);
df.setTimeZone(utc);
System.out.println(df.format(date));
Run Code Online (Sandbox Code Playgroud)
在您的代码中,您使用了java.util.Date.toString()使用系统默认TimeZone的方法.
| 归档时间: |
|
| 查看次数: |
2427 次 |
| 最近记录: |