oracle 时间戳到 jodatime 不工作
oracle timestamp to jodatime not working
我在 Oracle 的数据库中存储了一个时间戳,因为它是 AEST 时区
25-03-17 01:04:59.916000000 AM
我想把它转换成这个 AEST 时区的 Jodatime
2017-03-25T01:04:59.916+11:00
String text = "2017-03-25 01:04:59.916000000 AM";
Timestamp timestamp = Timestamp.valueOf(text);
System.out.println("Timestamp: " + timestamp);
DateTime dateTime = new DateTime(timestamp,AEST);
// DateTime d=dateTime.toDateTime();
System.out.println("DateTime: " + dateTime);
试过了,但是不行。
假设 AEST 是 Australia/Sidney 时区,您可以这样做:
DateTimeZone dtz = DateTimeZone.forID("Australia/Sydney");
DateTime dateTime = new DateTime(timestamp).withZoneRetainFields(dtz);
System.out.println("DateTime: " + dateTime);
输出将是:
DateTime: 2017-03-25T01:04:59.916+11:00
不幸的是,将 "AEST"
传递给 forID
方法不起作用,您必须传递等效的 ID(即 "Australia/Sidney"
)。
我在 Oracle 的数据库中存储了一个时间戳,因为它是 AEST 时区
25-03-17 01:04:59.916000000 AM
我想把它转换成这个 AEST 时区的 Jodatime
2017-03-25T01:04:59.916+11:00
String text = "2017-03-25 01:04:59.916000000 AM";
Timestamp timestamp = Timestamp.valueOf(text);
System.out.println("Timestamp: " + timestamp);
DateTime dateTime = new DateTime(timestamp,AEST);
// DateTime d=dateTime.toDateTime();
System.out.println("DateTime: " + dateTime);
试过了,但是不行。
假设 AEST 是 Australia/Sidney 时区,您可以这样做:
DateTimeZone dtz = DateTimeZone.forID("Australia/Sydney");
DateTime dateTime = new DateTime(timestamp).withZoneRetainFields(dtz);
System.out.println("DateTime: " + dateTime);
输出将是:
DateTime: 2017-03-25T01:04:59.916+11:00
不幸的是,将 "AEST"
传递给 forID
方法不起作用,您必须传递等效的 ID(即 "Australia/Sidney"
)。