Java获取当前时间,DATE,Calendar

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)

  1. getTime()方法在java.util包中可用。

  2. getTime()方法用于通过使用Date实例获取此Calendar的时间值。

  3. getTime()方法是一个非静态方法,可通过类对象访问,如果尝试使用类名访问该方法,则会收到错误消息。

  4. 返回此日历时间值时, 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>>>>
稳中求进,树人树德。
花开正好,我们不燥。扬帆起航,稳步前行。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Recently 祝祝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值