0

Javaでは、タイムスタンプを指定された形式の日付に変換しようとしていますが、これだけで達成できます

 DateFormat format = new SimpleDateFormat("EEE MMM d HH:mm:ss yyyy");
    Date date = format.parse("022310141505");
    System.out.println(date);

日付形式に「UTC」を追加するにはどうすればよいです"Wed Jul 17 05:33:07 UTC 2013"か?

それはエラーをスローします

java.text.ParseException: Unparseable date: "022310141505"
    at java.text.DateFormat.parse(DateFormat.java:337)
4

3 に答える 3

2

これを試して、

    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy ");
    sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
    Date date = new Date();
    System.out.println(sdf.format(date));

さらに、次のようなことを試してください

    DateFormat sdf = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy ");
    sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
    DateFormat format = new SimpleDateFormat("MMddyyHHmmss");
    Date date = format.parse("022310141505");
    System.out.println(sdf.format(date));
于 2013-07-17T09:35:03.853 に答える
1

明確ではありませんが、コードでは日付を「解析」しようとしています。つまり、文字列表現から Date オブジェクトに戻ろうとしています。あなたがやりたいことは、日付を「フォーマット」することだと思います。つまり、Date オブジェクトから文字列表現になります。

まず、タイムスタンプを日付に変換する必要があります

Date d = new Date(22310141505)
DateFormat formatter = new SimpleDateFormat("EEE MMM d HH:mm:ss yyyy");
System.out.println(formatter.format(d));

日付を解析しようとしている方法についてのコメント。実際には一般的な文字列 (たまたまタイムスタンプのように見えます) を解析しようとしていますが、構築したパターンとは完全に一致しませんDateFormat

于 2013-07-17T09:22:02.530 に答える
0

上記の数値がタイムスタンプの場合は、まず日付に変換してください。

long time = 022310141505L;
Timestamp ts = new Timestamp(time);
Date date = ts.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM d HH:mm:ss yyyy");
System.out.println(sdf.format(date));
于 2013-07-17T09:30:09.620 に答える