SimpleDateFormat类允许的字符

SimpleDateFormat类允许的字符

static final String patternChars = “GyMdkHmsSEDFwWahKzZYuXL”;


字符解释:

LetterDate or Time ComponentPresentationExamples
GEra designatorTextAD
yYearYear1996; 96
YWeek yearYear2009; 09
MMonth in yearMonthJuly; Jul; 07
wWeek in yearNumber27
WWeek in monthNumber2
DDay in yearNumber189
dDay in monthNumber10
FDay of week in monthNumber2
EDay name in weekTextTuesday; Tue
uDay number of week (1 = Monday, …, 7 = Sunday)Number1
aAm/pm markerTextPM
HHour in day (0-23)Number0
kHour in day (1-24)Number24
KHour in am/pm (0-11)Number0
hHour in am/pm (1-12)Number12
mMinute in hourNumber30
sSecond in minuteNumber55
SMillisecondNumber978
zTime zoneGeneral time zonePacific Standard Time; PST; GMT-08:00
ZTime zoneRFC 822 time zone-0800
XTime zoneISO 8601 time zone-08; -0800; -08:00

示例一:

dateStr: 2017-10-19 11:16:00.083+08:00
pattern: yyyy-MM-dd HH:mm:ss.SSSX
解释:
S=毫秒 .SSS代表秒后面的小数为83毫秒
X代表时区+08:00 即北京时间的11.16分


附上线程安全的SimpleDateFormat类

/**
 * 线程安全的dataformat 避免了单线程内重复创建的开销
 */
public class ThreadLocalDateFormat {
    private static final String ULOG_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss.SSSX";
    private static ThreadLocal<DateFormat> threadLocalDateFormat = new ThreadLocal<>();

    public static DateFormat getUlogDateFormat() {
        DateFormat dateFormat = threadLocalDateFormat.get();
        if (dateFormat == null) {
            dateFormat = new SimpleDateFormat(ULOG_DATE_PATTERN);
            dateFormat.setTimeZone(TimeZone.getTimeZone("GMT+8"));
            threadLocalDateFormat.set(dateFormat);
        }
        return dateFormat;
    }

    public static long getUlogTimestamp(String ulogDateStr) throws ParseException {
        return getUlogDateFormat().parse(ulogDateStr).getTime();
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值