You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SimpleDateFormat.parse方法解析指定日期字符串的正确模式是什么?

解析2018-05-21 23:05:51的正确SimpleDateFormat格式模式

嘿,这个问题我太熟了!要把这个日期字符串解析成Date对象,对应的格式模式应该是"yyyy-MM-dd HH:mm:ss",我给你拆解下每个部分的含义,保证一看就明白:

  • yyyy:对应4位数字的完整年份(这里就是2018)
  • MM:对应2位数字的月份(注意是大写的M,小写m是用来表示分钟的,别搞混了)
  • dd:对应2位数字的日期
  • HH:对应24小时制的小时数(因为你的时间是23点,必须用大写H;如果是12小时制的时间才用小写h)
  • mm:对应2位数字的分钟
  • ss:对应2位数字的秒数

给你贴个完整的代码示例,直接就能跑:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateParserDemo {
    public static void main(String[] args) {
        String targetDateStr = "2018-05-21 23:05:51";
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        
        try {
            Date parsedDate = dateFormat.parse(targetDateStr);
            System.out.println("解析成功,得到的Date对象:" + parsedDate);
        } catch (ParseException e) {
            System.err.println("解析失败,原因:" + e.getMessage());
            e.printStackTrace();
        }
    }
}

最后补个重要提醒:SimpleDateFormat不是线程安全的!如果是在多线程环境里用,要么每个线程单独创建实例,要么用ThreadLocal来管理它。要是你用的是Java 8及以上版本,更推荐用java.time包下的DateTimeFormatter,它天生线程安全,用法也更灵活。

内容的提问来源于stack exchange,提问作者Ali Habbash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:30:21