18

2012-11-21 13:11:25ローカル データベースから取得した日付文字列があります。これを設定に従って変換UTCし、特定の画面に表示する必要があります。そのため、画面のGMT+05:30ように表示する必要があります。2012-11-21 18:41:25この変換を行うにはどうすればよいですか。いくつかの質問を確認しましたが、うまくいきませんでした。

Wed Nov 21 13:11:25 GMT+05:30 2012 この後、次のようなものを返すDateオブジェクトを取得できます。時刻18:41:25と日付を取得する必要があります11-21-2012

前もって感謝します

4

4 に答える 4

22

dfinputFmtは同じ形式を使用する必要があります。

しかし、次のようにすればよいと思います。

    Date myDate = new Date();

    Calendar calendar = Calendar.getInstance();
    calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
    calendar.setTime(myDate);
    Date time = calendar.getTime();
    SimpleDateFormat outputFmt = new SimpleDateFormat("MMM dd, yyy h:mm a zz");
    String dateAsString = outputFmt.format(time);
    System.out.println(dateAsString);
于 2012-11-20T12:21:07.490 に答える
20

現在の時刻から UTC を取得します。

public String getCurrentUTC(){
        Date time = Calendar.getInstance().getTime();
        SimpleDateFormat outputFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        outputFmt.setTimeZone(TimeZone.getTimeZone("UTC"));
        return outputFmt.format(time);
}
于 2017-06-13T12:06:18.480 に答える