Java获取当前时间
方式一:
Main方法:
long time = UtilTest.getNow().getTime();
Date date = new Date(time);
System.out.println(date);
UtilTest包下的:
/**
* 获取开户当前时间
*
* @retuen Timestamp
*/
public static Timestamp getNow() {
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
long time = date.getTime();
Timestamp timestamp = new Timestamp(time);
return timestamp;
}
代码解释:先定义一个类叫UtilTest,在UtilTest定义一个getNow()方法,带括号的都是方法
方法体:{
先定义一个Calendar对象,
在定义一个类型为Date的属性,获取时间date类型的毫秒数
定义一个long型的属性,获得时间的毫秒数
new一个timestamp对象,传入一个long类型的毫秒数
}
最后main方法里date类型的数据需要传入一个long类型的数据,最后输出得到当前时间
方式二:
public class Main {
public static void main(String[] args) {
// 获取当前时间:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(date));
}
}
代码解释:{
创建一个date实例化对象,获得当前时间
创建格式化对象
最后匹配输出
}
日历类的getTime()方法 (Calendar Class getTime() method)
-
getTime()方法在java.util包中可用。
-
getTime()方法用于通过使用Date实例获取此Calendar的时间值。
-
getTime()方法是一个非静态方法,可通过类对象访问,如果尝试使用类名访问该方法,则会收到错误消息。
-
返回此日历时间值时, getTime()方法不会引发异常。
使用Calendar类代表指定的时间
Calendar类是抽象类,且Calendar类的构造方法是protected的,所以无法使用Calendar类的构造方法来创建对象,API中提供了getInstance方法用来创建对象。
Calendar c1 = Calendar.getInstance();
该方法获得的Calendar对象就代表当前的系统时间,由于Calendar类toString实现的没有Date类那么直观,所以直接输出Calendar类的对象意义不大。
set方法的声明为:
public final void set(int year,int month,int date)
c1.set(2009, 3 - 1, 9);
语法全解:
System.out.println("自定义时间输出:");
Calendar c =Calendar.getInstance();
c.set(year, month, date);
c.set(field, value);
c.set(year, month, date, hourOfDay, minute, second);
c.set(year, month, date, hourOfDay, minute);
public void set(int field,int value)
在该方法中,参数field代表要设置的字段的类型,常见类型如下:
Calendar.YEAR——年份
Calendar.MONTH——月份
Calendar.DATE——日期
Calendar.DAY_OF_MONTH——日期,和上面的字段完全相同
Calendar.HOUR——12小时制的小时数
Calendar.HOUR_OF_DAY——24小时制的小时数
Calendar.MINUTE——分钟
Calendar.SECOND——秒
Calendar.DAY_OF_WEEK——星期几
后续的参数value代表,设置成的值。例如:
c1.set(Calendar.DATE,10);
该代码的作用是将c1对象代表的时间中日期设置为10号,其它所有的数值会被重新计算,例如星期几以及对应的相对时间数值等。
System.out.println("自定义时间输出:");
Calendar c =Calendar.getInstance();
c.set(2021, 7, 3);
Timestamp t = new Timestamp(c.getTime().getTime());
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");
System.out.println(simpleDateFormat.format(t));
先定义一个calendar类型的变量,设置变量时间,转换为timestamp类型,
c.getTime().getTime():第一次getTime()获得当前的毫秒数,第二次getTime()转换为long类型
最后格式化匹配输出
Date类代表当前系统时间
Date d = new Date();
System.out.println(d);
使用Date类的默认构造方法创建出的对象就代表当前时间,由于Date类覆盖了toString方法,所以可以直接输出Date类型的对象
long time=18276767676L;
Date d4 =new Date(time);
System.out.println(d4);
结果:Fri Jul 31 20:52:47 CST 1970
Date date =new Date(time);
long t=date.getTime();
System.out.println(t);
结果:1627988107343
date》》》getTime后得到了一个long类型的整数,当前时间的毫秒数
三种获取时间的方法实现:
System.out.println("方式一:");
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");
System.out.println(simpleDateFormat.format(date));
System.out.println("方式二:");
Calendar cs=Calendar.getInstance();
Date date1= cs.getTime();
long time =date1.getTime();//转化为long类型的毫秒数
System.out.println(simpleDateFormat.format(date1));
System.out.println("方式三:");
long time1= 1212122121212L;
Date date2 =new Date(time1);
System.out.println(date2);
ending>>>>
稳中求进,树人树德。
花开正好,我们不燥。扬帆起航,稳步前行。