java对日期的操作————一篇就够了

1.获取当前系统时间

1.1 怎么获取当前时间?

-------在java.utli.Data类里面有相关的操作

 Date nowTime=new Date();
 直接输出这个nowTiem Date里面的toString方法会直接输出当前系统时间
 结果:Sat Sep 03 08:24:05 CST 2022  
1.2格式化时间

显然:
-----这种输出的方式不适合我们的读取.
-----有没有一中方式可以转化为我们一定格式的方法

java.text.SimpleDateFormat 这个类可以专门进行格式化
----------------------------------------------------我们常用的时间日期标签-----------------------------------
        * yyyy :年份
        * MM :月份
        * dd:* mm:分
        * ss:* SSS:毫秒
       
------------------------------------------------------所有的格式日期--------------------
        	字母  日期或时间元素  表示  示例
            G  Era 标志符  Text  AD
            y  年  Year  1996; 96
            M  年中的月份  Month  July; Jul; 07
            w  年中的周数  Number  27
            W  月份中的周数  Number  2
            D  年中的天数  Number  189
            d  月份中的天数  Number  10
            F  月份中的星期  Number  2
            E  星期中的天数  Text  Tuesday; Tue
            a  Am/pm 标记  Text  PM
            H  一天中的小时数(0-23)  Number  0
            k  一天中的小时数(1-24)  Number  24
            K  am/pm 中的小时数(0-11)  Number  0
            h  am/pm 中的小时数(1-12)  Number  12
            m  小时中的分钟数  Number  30
            s  分钟中的秒数  Number  55
            S  毫秒数  Number  978
            z  时区  General time zone  Pacific Standard Time; PST; GMT-08:00
            Z  时区  RFC 822 time zone  -0800
            
            这些标签怎么用呢?
1.3日期标签的用法
我们用一个字符串来接受这个日期的时间,同时。format方法里面需要填写上nowTime这个参数
nowTime这个参数时我们堆Date类创建的对象,这里我们用SimpleDateFormat类对其格式化我们
需要的格式,来输出,用的是一个字符串来接收这个日期。我们输出的是系统的当前时间
.

如年是4位数的就写yyyy .
.
.
例子:------------------------------------------------------------------------------
SimpleDateFormat date1 =new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
Date nowTime=new Date();
String nowTime1=date1.format(nowTime);
System.out.println(nowTime1);
.
.
结果:20210518144106
1.4 把一个字符串的日期类型转化为Data日期类型
我们还有一个方式可以把固定格式的日期字符串转换为一个Date 类型的数据
        仍然我们需要SimpleDateFormat 类的参与 需要以恶parse();方法
        但是这里需要异常的处理,需要在main(String[] args)throws Exception 用上异常
        转化的时候需要日期的格式相互照应,否则就会出现解析异常



        String time="2022-09-03 08:23:65 521";
        SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        Date date=dateFormat.parse(time);
        System.out.println(date);
        
        结果:Sat Sep 03 08:24:05 CST 2022 不出现毫秒是Date 的toString方法的问题,但是格式一定要照应

1.5 对程序执行时间的计算
我们可以对程序执行的时常进行一个统计,System.currentTimeMillis();获取
一个从197011日到现在的毫秒时常。我们一般用long类型的表示


        long beginTime =System.currentTimeMillis();
       
        for (int i = 0; i < 1000; i++) {  
        }
        
        long endTime=System.currentTimeMillis();
        System.out.println(beginTime-endTime);
        
1.6 Date的另一个构造方法
学完这个。我们可以学另一个Date的构造方法,
这里Date 的参数是19701100时:0000000毫秒往后的时间
由于所基于的标准时间是格林威治的时间, 北京是东8时区所以要加8个小时
结果是一定是 多了八个小时零100毫秒

        Date date2 =new Date(100);
        String s1=dateFormat.format(date2);
        System.out.println(s1);
     
        结果:1970-01-01 08:00:00 100
1.7 获取昨天此时的时间

获取昨天的此时的时间

        long dayTime=System.currentTimeMillis();
        long yesteday =System.currentTimeMillis()-1000*60*60*24;
        Date date3=new Date(yesteday);
        String ss1=date1.format(date3);
        System.out.println(ss1);
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值