Java Date日期

一、计算机纪元(0毫秒)

     计算机 时间纪元是1970年1月1日 00:00:00,即计算机时间戳就是以该时间点为计时起点时间。
     但是中国在东八区,所以此时中国的时间相当于1970年1月1日 08:00:00。

//测试时间纪元
public class TEST {
	 public static void main(String[] args) {
	        //long time = System.currentTimeMillis();
	        System.out.println( new Date(0));
	}
}

结果:
在这里插入图片描述

二、JAVA Date类

1、构造方法:

//无参构造函数
Date date = new Date();

//有参构造函数,传入参数为距离时间纪元的毫秒数
Date date = new Date(long time);  //参数为long型

2、内置方法

         方法名描述
1boolean after(Date date)调用此方法的对象在传入date的日期之后,返回true,否则返回false
2boolean before(Date date)与after()方法相反
3boolean equals(Object date调用方法对象和传入参数相等时返回true,否则返回false
4long getTime()获取从时间纪元到现在的毫秒数
5void setTime(long time)重新设置日期,传入参数为距时间纪元(1970年1月1日 00:00:00)的毫秒数
6String toString()将时间转换为字符串

三、Date格式转换

1、DateFormat

位于java.text中,是日期、时间格式化子类的抽象类,其作用:
     格式化:日期->文本
     解    析:文本->日期

2、SimpleDateFormat

     因为DateFormat是抽象类,无法直接创建对象使用,可以使用其子类SimpleDateFormat

	//构造函数,指定对应的格式
	SimpleDateFormat sft = new SimpleDateFormat("yyyy-MM-dd HH:mm:dd");
	
	//Date转为字符串
	String str = sft.format(date);
	
   	//字符串转Date
	try {
		date = sft.parse(str);
	} catch (ParseException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

例:

	//long time = System.currentTimeMillis();
	SimpleDateFormat sft = new SimpleDateFormat("yyyy-MM-dd HH:mm:dd");

	//Date转字符串
	Date date = new Date();
	String str = sft.format(date);
	System.out.println("时间1: [" + str + "]");

	//字符串转Date
	String strDate = "2021-01-01 00:00:00";
	Date date1 = null;
	try {
		date1 = sft.parse(strDate);
	} catch (ParseException e) {
		e.printStackTrace();
	}
	System.out.println("时间2: [" + date1 + "]");

结果:
在这里插入图片描述

3、时间模式

字母描述距离
1G纪元标识公元
2y年(4位,yyyy)
3M
4d
5h时,12小时制
6H时,24小时制
7m
8s
9S毫秒
10E星期几
11D一年中的日子
12F一个月中第几周的周几
13w一年中第几周
14W一个月中第几周
15文字界定符
注:允许多位,然后补0
SimpleDateFormat sft = new SimpleDateFormat("G yyyy-MM-ddd HH:mm:dd SSSS");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值