2

サーバーからこれを受信して​​いますが、T と Z の意味がわかり2012-08-24T09:59:59Zません。この文字列を Date オブジェクトに変換するための正しい SimpleDateFormat パターンは何ですか?

4

7 に答える 7

8

これはISO 8601規格です。あなたは使用することができます

SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");

これを変換します。

于 2012-08-28T10:35:03.043 に答える
2
RSS 2.0 format string EEE, dd MMM yyyy HH:mm:ss z   
Example: Tue, 28 Aug 2012 06:55:11 EDT

Atom (ISO 8601) format string  yyyy-MM-dd'T'HH:mm:ssz
Example:2012-08-28T06:55:11EDT

try {
            String str_date = "2012-08-24T09:59:59Z";
            DateFormat formatter;
            Date date;
            formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
            date = (Date) formatter.parse(str_date);
            System.out.println("Today is " + date);
        } catch (ParseException e) {
            System.out.println("Exception :" + e);
        } 
于 2012-08-28T10:34:55.243 に答える
2

Z は Zulu (UTC) を表し、これはdateTime.tz形式 ( ISO-8601 ) です。したがって、次のようなことができるはずです。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");

ここに例があります:

于 2012-08-28T10:36:51.613 に答える
2

これは ISO 日時形式です。ここを参照してください。T は時間区切り記号で、Z はゼロ UTC オフセットのゾーン指定子です。

同一ではないにしても、非常によく似た質問がここにあります。この文字列を Java DateTime オブジェクトに変換する方法を知るには、それを参照してください。

于 2012-08-28T10:44:21.733 に答える
1
import org.joda.time.*;
import org.joda.time.format.*;

public class Test {
    public static void main(String[] args) {
        String text = "2012-08-24T09:59:59Z";
        DateTimeFormatter parser = ISODateTimeFormat.dateTime();
        DateTime dt = parser.parseDateTime(text);

        DateTimeFormatter formatter = DateTimeFormat.mediumDateTime();
        System.out.println(formatter.print(dt));
    }
}

または、そのリンク str を現在までにチェックするだけです

于 2012-08-28T10:36:30.763 に答える
0

おそらく、優れたjoda timeライブラリを使用して、文字列を日付に変換します。

LocalDate myDate = new LocalDate("2012-08-28") // the constructor need an Object but is internally able to parse a String.
于 2012-08-28T11:06:00.757 に答える
-1
// First parse string in pattern "yyyy-MM-dd'T'HH:mm:ss'Z'" to date object.

String dateString1 = "2012-08-24T09:59:59Z";
Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(dateString1);

// Then format date object to string in pattern "MM/dd/yy 'at' h:mma".
String dateString2 = new SimpleDateFormat("MM/dd/yy 'at' h:mma").format(date);
System.out.println(dateString2); // 08/24/12 at 09:59AM

これはあなたに役立つかもしれないと思います。

于 2012-08-28T10:36:38.903 に答える