Java常用类有关日期的使用(Date、Calendar、SimpleDateFormat)

Date、Calendar、SimpleDateFormat的使用

Date

Date被Calendar取代了,Date的许多方法已经过时,只有一些老的程序还会使用Date

其中Date的常用方法是toString()与toLocaleString()(已经过时,不过还可以继续使用)

Date date = new Date();
String string = date.toString();//Wed Jun 02 18:54:33 CST 2021
String string1 = date.toLocaleString();//2021-6-2 18:54:33

Calendar

因为Calendar的构造方法是protected,所以不能通过new来创建对象,创建对象需要调用静态方法getInstance(),如果Calendar要使用Date的方法,则需要调用Calendar的getTime()方法将Calendar类型转换为Date类型

Calendar calendar = Calendar.getInstance();
 Date time =calendar.getTime();//将Calendar类型转换为Date类型
 String string2 = time.toLocaleString();//使用Date里面的方法toLocaleString

下面介绍Calendar输出年、月、日、小时、分的方法,其中月份输出结果是当前月份减1,因为外国12个月的标号是0-11

Calendar calendar = Calendar.getInstance();
  int year = instance.get(Calendar.YEAR);//结果是今年年份
  int month = instance.get(Calendar.MONTH);//结果是今年月份-1
  int day = instance.get(Calendar.DAY_OF_MONTH);
  int hour = instance.get(Calendar.HOUR);//12小时制
  int hour1 = instance.get(Calendar.HOUR_OF_DAY);//24小时制
  int minut = instance.get(Calendar.MINUTE);

SimpleDateFormat

SimpleDateFormat是一个格式化和解析日期的具体类

        //创建SimpleDateFormat对象 y年M月d日 h:m:s
        //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//2021-06-02 07:15:23
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd ");//2021-06-02
        //创建Date对象
        Date date = new Date();
        //格式化date把日期转成字符串
        String format = sdf.format(date);
        System.out.println(format);//2021-06-02 07:15:23
        //解析(把字符串转成日期)
        Date parse = sdf.parse("2050-12-03");//括号内的字符串格式必须与SimpleDateFormat对象格式一样,并且需要抛出异常
        System.out.println(parse);//Sat Dec 03 00:00:00 CST 2050

SimpleDateFormat注意:

SimpleDateFormat对象的格式可以有多种写法

yyyy:xxxx年
MM:xx月
dd:xx天
hh:xx小时
mm:xx分钟
ss:xx秒
 new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")
 new SimpleDateFormat("yyyy-MM-dd ")
 new SimpleDateFormat("yyyy/MM/dd ")
 这三个对象调用format方法将Date对象格式化输出格式分别为
 2021-06-02 07:15:23
 2021-06-02
 2021/06/02

注意: 使用SimpleDateFormat对象进行解析时,例如Date parse = sdf.parse(“2050-12-03”);括号里面的字符串格式必须与SimpleDateFormat对象格式一样,并且需要抛出异常

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yuan_boss

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

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

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

打赏作者

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

抵扣说明:

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

余额充值