Java怎么获取当前系统时间?如何自定义时间?

2021-05-20 17:51:57 浏览数 (4)

软件中经常需要使用到时间。特别是服务器,比如在服务器日志中写入日志记录时间,时间记录功能和时间存储功能。在 Java 中,有一个 Date 类专门用来获取当前系统时间和自定义时间。接下来,就让小编带你了解一下这个类。

常用的时间类- Date 类

时间类的使用非常简单,通过实例化 Date 对象即可使用。如果不进行传参的话,实例化的对象代表的就是当前系统的时间。

通过 ​get​ 方法可以获取到这个 Date 对象的年月日时分秒和星期,不过在年和月份的情况需要进行数据的处理(年份是以1900年为时间原点,月份是从0月开始)。

使用 ​set​ 方法可以修改这个 Date 对象的年月日时分秒和星期,不过在年和月份的情况需要先进行数据的处理再设置(同上)。

import java.util.Date;
public class timeDate{
    public static void main(String[] args) {
        Date d1 = new Date();
        //创建一个代表系统当前日期的Date对象
        System.out.println(d1);
        int year = d1.getYear()+1900;
        //可以使用get方法获取这个Date对象的年月日时分秒和星期
        //在获取年份的时候要加上1900才能获得准确年份
        System.out.println(year);
        int mouth =d1.getMonth()+1;
        //在获取月份的时候要+1才能获得准确月份
        System.out.println(mouth);
        d1.setYear(2020-1900);
        //可以用set方法设置这个Date对象的年月日时分秒和星期
        //在设置年份的时候要减去1900才能获得准确年份
        //在设置月份的时候要-1才能设置准确月份
        System.out.println(d1);
    }
}

更好的时间类- Calender 类

由于设计不足的原因,从 java 1.1开始,Date 类的很多方法被弃用。这时候也可以考虑更好的时间类 Calender 类,这个类获取时间的方式与 Date 类有所不同。代码如下,可以进行参考比较。

import java.util.Calendar;
public class timeCalender{
    public static void main(String[] args) {
        Calendar d1 = Calendar.getInstance();
         //创建一个代表系统当前日期的Calender对象
        int year = d1.get(Calendar.YEAR);
        //获取年份
        int mouth = d1.get(Calendar.MONTH)+1;
        //获取月份(需要+1)
        int day = d1.get(Calendar.DAY_OF_MONTH);
        //获取日期
        int hours = d1.get(Calendar.HOUR_OF_DAY);
        //获取小时
        int minutes = d1.get(Calendar.MINUTE);
        //获取分钟
        int seconds = d1.get(Calendar.SECOND);
        //获取秒
        System.out.println(year+"-"+mouth+"-"+day+"-"+hours+":"+minutes+":"+seconds);       
    }
}

小结

Date 类和 Calender 类都是 java 获取当前系统时间的常用方法。如果只是简单的获取时间的话,Date 类已经足以使用。如果要获取更多的功能,使用 Calender 类会更加舒心。以上就是关于 java 获取当前系统时间的介绍,更多 java 知识,请关注菜鸟自学Java教程


0 人点赞