簡體   English   中英

如何將帶時區的PostgreSQL時間戳轉換為DateTime?

[英]How to convert PostgreSQL timestamp with time zone to DateTime?

這是我在申請表中得到的日期:

String psqlDate = "2013-11-17 14:08:33+01";

psqlDate轉換為joda DateTime最佳方法是什么?

[編輯]

我可以使用DateTime 解析方法。 它可以很好地與時間戳一起工作,並且已經用T- 2013-11-17T14:08:33+01拆分了有關日期和時間的信息。

這應該有良好的模式:

DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd...");
DateTime dt = DateTime.parse((String) obj, formatter);

帶有時區的PostgreSQL時間戳正確的模式是什么?

這是喬達的真正答案。 您是否嘗試過在org.joda.time.format.DateTimeFormat模式?

“ yyyy-MM-dd HH:mm:ssZ”

我看到您的時區偏移量僅以小時為單位,而不是以分鍾為單位。 所以也許你需要簡單的預處理和雙Z這樣:

String psqlDate = "2013-11-17 14:08:33+01";
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ssZZ");
DateTime dt = DateTime.parse(psqlDate + ":00", formatter);

你可以試試這個

    String psqlDate = "2013-11-17 14:08:33+01";
    Date date=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss'+'01").parse(psqlDate);
    System.out.println(date);

出局:

    Sun Nov 17 14:08:33 IST 2013

使用SimpleDateFormat類似於:SimpleDateFormat(“yyyy / mm / dd HH:mm:ss”)。parse()將其轉換為java 日期對象

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM