我有一串时间格式
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)
如何处理?
答案 0 :(得分:3)
线程中的异常&#34; main&#34; java.lang.IllegalArgumentException:非法 模式人物&#39; T&#39;
应该是
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss+08:00");
格式中的引号序列,例如'T'
,被视为文字。