Java:Date日期类简单应用

1、Java中获取当前日期和时间很简单,使用 Date 对象的 toString() 方法来打印当前日期和时间

public class DateTest {
    @Test
    public void test01(){
       Date date = new Date();
       System.out.println(date.toString());
}
Thu Apr 14 17:33:30 CST 2022

2、getTime()与System.currentTimeMillis(),该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。

 @Test
    public void test02(){
        Date date = new Date();
        //Thu Apr 14 16:46:02 CST 2022
        System.out.println(date);
        long time = date.getTime();
        //1649925962219毫秒数 从1970-01-01 00:00:00到程序运行结束的毫秒数
        System.out.println(time);
        long millis = System.currentTimeMillis();
        //1649926153085毫秒数 1970-01-01 00:00:00 到程序运行结束
        System.out.println(millis);
Thu Apr 14 17:33:30 CST 2022
1649928810601
1649928810615

3、设置时间的年月日,时分秒,星期几的方法实现,代码如下

 @Test
    public void test03(){
        //日期时间
        StringBuilder dateText = new StringBuilder();
        Date date = new Date();
        //年
        int year = date.getYear() + 1900;
        dateText.append(year+"年");
        //月
        int month = date.getMonth();
        dateText.append(month < 10 ? "0" + month + "月":month + "月");
        //日
        int dateri= date.getDate()+1;
        dateText.append(dateri < 10 ? "0" + dateri + "日":dateri + "日");
        //小时
        int hours = date.getHours();
        dateText.append(hours< 10 ? " 0" + hours + "时":" "+hours + "时");
        //分钟
        int minutes = date.getMinutes();
        dateText.append(minutes < 10 ? "0" + minutes + "分":minutes + "分");
        int seconds = date.getSeconds();
        dateText.append(seconds < 10 ? "0" + seconds + "秒":seconds + "秒");
        //星期
        int day = date.getDay();
        String weekday=" 星期";
        switch (day){
            case 1 -> weekday += "一";
            case 2 -> weekday += "二";
            case 3 -> weekday += "三";
            case 4 -> weekday += "四";
            case 5 -> weekday += "五";
            case 6 -> weekday += "六";
            default -> weekday += "日";

        }
        dateText.append(weekday);
        System.out.println(dateText.toString());

    }
2022年04日14日 17时50分59秒 星期四

4、简单方法实现设置时间的年月日,时分秒,用setTimeZone方法设置时区

主要是使用 SimpleDateFormat 格式化日期,实例化一个时间字符串格式对象,并传入时间字符串模板,其中yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是时、分、秒。

注意:有的格式大写,有的格式小写,例如 MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。

@Test
    public void test03(){
        Date date = new Date();
        System.out.println(date);
        //实例化一个时间字符串格式对象,并传入时间字符串模板
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //设置时区 上海
        dateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
        //将日期对象根据之前的时间字符串模板格式化为时间字符串;
        String format = dateFormat.format(date);
        System.out.println(format);
}
2022-04-14 17:59:01

5、parse()它试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串

@Test
  public void test04(){

        String source="1983-11-22 20:30:00";
        //parse()解析source="1983-11-22 20:30:00"转化成Tue Nov 22 20:30:00 CST 1983
        try {
            Date parse = dateFormat.parse(source);
            System.out.println(parse);
        } catch (ParseException e) {
            e.printStackTrace();
        }

    


}
Tue Nov 22 20:30:00 CST 1983

6、将当前时间提前一个小时输出

@Test
    public void test04(){
        //该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。
        long timeMillis = System.currentTimeMillis();
        timeMillis -=1000*60*60;
        Date date = new Date(timeMillis);
        System.out.println(date);
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        dateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
        String format = dateFormat.format(date);
        System.out.println(format);

    }
Thu Apr 14 17:09:58 CST 2022
2022-04-14 17:09:58

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值