This question already has answers here:
Illegal pattern character 'T' when parsing a date string to java.util.Date
(3个答案)
4年前关闭。
我有一个时间格式的字符串
我想将其转换为timeStamp,但是:
并获取异常:
该如何处理?
用格式表示的引号序列,例如
(3个答案)
4年前关闭。
我有一个时间格式的字符串
2015-08-14T06:00:00+08:00
我想将其转换为timeStamp,但是:
public static Long convertTimeStringToTimeStampMilSec(String timeStr){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-ddTHH:MM:SS+08:00");
try {
Date d = dateFormat.parse(timeStr);
Calendar c = Calendar.getInstance();
c.setTime(d);
return c.getTimeInMillis();
}catch (Exception e){
e.printStackTrace();
return null;
}
}
并获取异常:
Exception in thread "main" java.lang.IllegalArgumentException: Illegal pattern character 'T'
at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:845)
at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:659)
at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:585)
at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:560)
该如何处理?
最佳答案
线程“主”中的异常java.lang.IllegalArgumentException:非法
图案字符“ T”
它应该是
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss+08:00");
用格式表示的引号序列,例如
'T'
,被视为文字。