Java时间格式字符串与Date的相互转化



将Date转化为格式化字符串


将Date转化为格式化字符串是利用SimpleDateFormat类继承自 java.text.DateFormat类的format方法实现的:
  • public final String format(Date date):将日期格式化成日期/时间字符串。
       //获取当前时间
        Date date = new Date();
       //定义转化为字符串的日期格式 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //将时间转化为类似 2020-02-13 16:01:30 格式的字符串
        String d=sdf.format(date);



时间格式字符串转化为Date


时间格式字符串转换为Date是利用SimpleDateFormat类继承自 java.text.DateFormat类的Parse方法实现的:
  • public Date parse(String source) throws ParseException:从给定字符串的开始解析文本以生成日期。 该方法可能不会使用给定字符串的整个文本。
  String time = "2020-02-13 16:01:30";
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  Date date = null;
  try {
        date = sdf.parse(time);
      } catch (ParseException e) {
        e.printStackTrace();
      }

两点需要注意:

  • 字符串要和定义的格式一致
  • 要作异常处理

Java8新的时间API

Java旧的时间API饱受诟病,Java8以后提供了新的时间API,在java.time包下。


时间对象转换为指定格式字符串

      //获取当前时间
		LocalDateTime date=LocalDateTime.now();
		//创建日期时间对象格式化器,日期格式类似: 2020-02-23 22:18:38
		DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
		//将时间转化为对应格式的字符串
		String fomateDate=date.format(formatter).toString();

将日期格式字符串转化为时间对象

        //创建日期时间对象格式化器,日期格式类似: 2020-02-23 22:18:38
		DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        //时间格式字符串
		String sDate="2020-02-23 22:18:38";
		//将时间格式字符串转化为LocalDateTime对象,需传入日期对象格式化器
		LocalDateTime parseDate=LocalDateTime.parse(sDate,formatter);

这里也需要需要注意格式化器的格式和字符串的格式要一致。



参考:

【1】:Java将字符串格式时间转化成Date格式
【2】:Java Review (二十一、基础类库----日期、时间类)
【3】:java8中文版-在线API

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三分恶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值