java中专门用于将日期格式化为字符串_Java SimpleDateFormat处理日期与字符串的转换...

1. 为什么要使用SimpleDateFormat?

在Java中,如果我们想获取当前时间,一般会使用Date类的无参构造函数,如下所示,我们获取到当前时间并输出:

import java.util.Date;

public class SimpleDateFormatDemo {

public static void main(String[] args) {

Date currentTime = new Date();

System.out.println(currentTime);

}

}

输出结果:

Mon Feb 18 10:24:30 CST 2019

此时我们会发现, 输出的格式并不是我们预期的格式,一般情况下,我们希望的格式都是类似于2019-02-18,2019/02/18,2019-02-18 10:24:30这样的,此时我们就需要用到java.text.SimpleDateFormat来自定义格式。

2. 使用format()方法将Date转换为String

使用format()方法,我们可以将日期类型转换为自己自定义的字符串格式,如2019-02-18,2019/02/18,2019-02-18 10:24:30等,自定义格式如下表所示:

格式

释义

举例

yyyy

2019

MM

02

dd

18

HH

小时(24小时制)

13,下午一点

mm

分钟

53

ss

42

SSS

毫秒

629

package com.zwwhnly.springbootaction.date;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

public class SimpleDateFormatDemo {

public static void main(String[] args) {

Date currentTime = new Date();

System.out.println(currentTime);

SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");

SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd");

SimpleDateFormat simpleDateFormat3 = new SimpleDateFormat("yyyy/MM/dd");

System.out.println(simpleDateFormat1.format(currentTime));

System.out.println(simpleDateFormat2.format(currentTime));

System.out.println(simpleDateFormat3.format(currentTime));

}

}

输出结果:

Mon Feb 18 13:53:50 CST 2019

2019-02-18 13:53:50.629

2019-02-18

2019/02/18

3. 使用parse()方法将String转换为Date

在实际开发过程中,我们有时需要将String转换为Date类型,以进行后续操作,此时可以使用parse()方法。

但需要注意:如果字符串与指定的格式不匹配,会报java.text.ParseException异常。

package com.zwwhnly.springbootaction.date;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

public class SimpleDateFormatDemo {

public static void main(String[] args) {

try {

SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");

String strDate1 = "2019-02-18 13:58";

String strDate2 = "2019-02-18";

Date date1 = simpleDateFormat1.parse(strDate1);

System.out.println(date1);

Date date2 = simpleDateFormat1.parse(strDate2);

System.out.println(date2);

} catch (ParseException e) {

e.printStackTrace();

}

}

}

运行结果如下图所示:

snipaste_20200609_150723.png

由此我们可以看到,strDate1格式匹配能正常转换为Date类型,而strDate2由于格式不匹配,

抛出java.text.ParseException。

4. 参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值