Java怎么获取当前系统时间?如何自定义时间?
2021-05-20 17:51:57
浏览数 (4098)
软件中经常需要使用到时间。特别是服务器,比如在服务器日志中写入日志记录时间,时间记录功能和时间存储功能。在 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教程。