web-dev-qa-db-ja.com

UTC形式に従って日付と時刻の文字列を変換します

ローカルデータベースから取得した日付文字列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として取得する必要があります。

前もって感謝します

15
Lavanya

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);
16
Kai

現在の時刻から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);
}
15
SANAT

日付のフォーマットされた文字列を必要なフォーマットで取得する最良の方法は

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
String formatted = dateFormat.format(date);
3
Gurgen Hakobyan
    //This is my input date 

    String dtStart = "2019-04-24 01:22 PM";
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm a");
    Date date = null;
    try {
        date = format.parse(dtStart);
        getDateInUTC(date)

    } catch (ParseException e) {
        e.printStackTrace();
    }

//このメソッドは日付をUTC形式に変換するために使用します

public static String getDateInUTC(Date date) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
            String dateAsString = sdf.format(date);
            System.out.println("UTC" + dateAsString);
            return dateAsString;

        }
0
bhoomika