簡體   English   中英

無法使用Java日期解析器解析字符串

[英]Unable to parse String using Java Date parser

我正在使用以下方法解析日期時間字符串: http : //developer.android.com/reference/java/text/SimpleDateFormat.html,但不知何故我在解析時遇到了運行時錯誤: https : //ideone.com/gpFqwp

有人可以在這里指出我的錯誤嗎?

static String date = "2015-09-17T08:22:49Z";
public static DateFormat inputDatetimeFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
public static DateFormat displayDateFormat = DateFormat.getDateTimeInstance();

public static void main (String[] args) throws java.lang.Exception
{
    System.out.println(displayDateFormat.format(inputDatetimeFormatter.parse(date)));
}

inputDatetimeFormatter更改為new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); 然后它將運行正常。

編輯: date字符串末尾Z的作用是什么? 您一直想在那里只是一封信嗎?

然后,您必須將inputDatetimeFormatter更改為上述內容。 如果Z的用途是時區,那么您的date字符串是錯誤的(不應包含Z而是時區,例如-0800 )。

然后它將給出:

static String date = "2015-09-17T08:22:49-0800"; // Replace -0800 by wanted time zone
public static DateFormat inputDatetimeFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); // Now you can use Z (instead of 'Z') to indicate that the time zone is following
DateFormat inputDatetimeFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX");

有關Java 7中的SimpleDateFormat,請參見javadoc

或使用

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

有關Java 6中的SimpleDateFormat,請參見javadoc

這是一個樣本

暫無
暫無

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

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