簡體   English   中英

Java - 如何將此字符串轉換為日期?

[英]Java - How to convert this string to date?

我從服務器收到這個,我不明白T和Z意味着什么, 2012-08-24T09:59:59Z將此字符串轉換為Date對象的正確SimpleDateFormat模式是什么?

這是ISO 8601標准。 你可以用

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

轉換這個。

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);
        } 

Z代表Zulu(UTC),這是dateTime.tz格式( ISO-8601 )。 所以,你應該能夠做到這樣的事情:

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

這里有一個例子: 例子

這是ISO日期時間格式,請參見此處 ,T是時間分隔符,Z是零UTC偏移的區域指示符。

有一個非常相似,如果不相同的問題在這里 ,看看就知道如何將這個字符串轉換成Java DateTime對象。

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到目前為止

也許使用優秀的joda時間庫將String轉換為日期:

LocalDate myDate = new LocalDate("2012-08-28") // the constructor need an Object but is internally able to parse a String.
// 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

我想這可能對你有用。

暫無
暫無

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

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