JAVA对日期的简单处理方法

JAVA对日期的简单用法----Date类和SimpleDateFormat类

知识点有三点

1、获取系统当前时间
2、Date----->String
3、String----->Date

1、Date的构造方法
Date()

分配一个 Date对象,并初始化它,以便它代表它被分配的时间,测量到最近的毫秒

public class DateTest1 {
    public static void main(String[] args) {

        /*获取系统当前时间*/
        Date nowtime1 = new Date();
        System.out.println("你好,现在是"+nowtime1);
	}
}

这里java.util.Date类已经重写好toString方法了,输出的不再是某个对象的内存地址,而是一个日期的字符串。
输出结果:

Date(long date)

分配一个 Date对象,并将其初始化为表示从标准基准时间(称为“时代”)即1970年1月1日00:00:00 GMT起的指定毫秒数。
参数: date - 1970年1月1日00:00:00 GMT以来的毫秒数

Date date1 = new Date(1000),//1970年1月1日00:00:00 加1秒
                date2 = new Date(-1000),//1970年1月1日00:00:00 减1秒
                date3 = new Date(0);//1970年1月1日00:00:00 加/减0秒
        System.out.println(date1);
        System.out.println(date2);
        System.out.println(date3);

输出结果:

这里是因为北京是东八区,因此这里会显示早八个小时

2、Date类型转换为String类型
SimpleDateFormat(String pattern)

上面的输出格式是国际形式,但对于我们日常生活还是不太习惯,因此我们可以给定我们想要输出的格式。

使用给定模式 SimpleDateFormat并使用默认的 FORMAT语言环境的默认日期格式符号。
里面的 “yyyy” “MM” “dd” “HH” “mm” “ss” “SSS” 不能改变,其他符号可以随便使用

Date nowtime2 = new Date();
        /*
        * yyyy 年 MM 月 dd HH 时 mm 分 ss 秒 SSS 毫秒
        * */
        SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        String s1 = simpleDateFormat.format(nowtime2);
        System.out.println(s1);

输出结果:
在这里插入图片描述

3、String类型转换为Date类型
String s2 = "2020-08-08 08:08:08 888";
        SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        try {
            Date date4 = simpleDateFormat2.parse(s2);
            System.out.println(date4);
        } catch (ParseException e) {
            e.printStackTrace();
        }

输出结果:
在这里插入图片描述
注意:在这里的格式需要严格按照SimpleDateFormat里的格式进行,否则会出异常
如:s3中有“年”,即“yyyy”的格式,但SimpleDateFormat中没有,因此会出异常

String s3 = "2020-09-09 09:09:09 999";//此时字符串格式和simpleDateFormat格式不同,会引起异常
        //异常为:java.text.ParseException: Unparseable date: "2020-09-09 09:09:09 999"
        SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("MM-dd HH:mm:ss SSS");//这里没有yyyy(年)
        try {
            Date date5 = simpleDateFormat2.parse(s3);
            System.out.println(date5);
        } catch (ParseException e) {
            e.printStackTrace();
        }

输出结果:
在这里插入图片描述
整篇的完整代码如下:

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

public class DateTest01 {
    public static void main(String[] args) {
        /*获取系统当前时间*/
        //无参
        Date nowtime1 = new Date();
        System.out.println("你好,现在是" + nowtime1);

        //有参
        Date date1 = new Date(1000),
                date2 = new Date(-1000),
                date3 = new Date(0);
        System.out.println(date1);
        System.out.println(date2);
        System.out.println(date3);

        System.out.println("======================Date类型转换为String类型=============================");
        Date nowtime2 = new Date();
        /*
         * yyyy 年 MM 月 dd HH 时 mm 分 ss 秒 SSS 毫秒
         * */
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        String s1 = simpleDateFormat.format(nowtime2);
        System.out.println(s1);

        System.out.println("======================String类型转换为Date类型=============================");
        String s2 = "2020-06-06 06:06:06 666";
        SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        try {
            Date date4 = simpleDateFormat1.parse(s2);
            System.out.println(date4);
        } catch (ParseException e) {
            e.printStackTrace();
        }

        System.out.println("=====================注意异常的发生====================================");
        String s3 = "2020-09-09 09:09:09 999";//此时字符串格式和simpleDateFormat格式不同,会引起异常
        //异常为:java.text.ParseException: Unparseable date: "2020-09-09 09:09:09 999"
        SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("MM-dd HH:mm:ss SSS");//这里没有yyyy(年)
        try {
            Date date5 = simpleDateFormat2.parse(s3);
            System.out.println(date5);
        } catch (ParseException e) {
            e.printStackTrace();
        }

    }

}

输出结果:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值