在Java中将时间字符串转换为时间戳

时间:2015-10-13 03:53:28

标签: java

我有一串时间格式 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)

如何处理?

1 个答案:

答案 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',被视为文字。

相关问题