【问题标题】:converting time string to time stamp in java [duplicate]在java中将时间字符串转换为时间戳[重复]
【发布时间】:2015-10-13 03:53:27
【问题描述】:

我有一串时间格式 2015-08-14T06:00:00+08:00 我想将其转换为时间戳,但使用:

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


【解决方案1】:

线程“主”java.lang.IllegalArgumentException 中的异常:非法 模式字符'T'

应该是

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss+08:00");

格式中的引用序列,例如'T',它被视为文字。

【讨论】:

    猜你喜欢
    • 2017-01-18
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 2019-10-29
    • 2013-09-25
    • 2021-09-08
    • 1970-01-01
    • 2020-11-22
    相关资源
    最近更新 更多