Java中有关时间日期类

Java中有关日期的类

一.Date类

  1. 在java.util包中。
  2. 构造方法:通常使用无参或带long型参的构造方法
public Date() {
	//用系统当前时间 long毫秒值 创建对象
	this(System.currentTimeMillis());
}
public Date(long date) {
	fastTime = date;
}
  1. 使用及其方法:setTime、getTime、before、after
 Date date1 = new Date();
 //创建date1对象并初始化,分配时间,可精确到毫秒值
 System.out.println(date1);//Fri Oct 23 21:04:12 CST 2020
 //格林威治时间,对应:星期五 10月23日 时间 中央标准时间 2020年
 
 long time1 = date1.getTime();
 System.out.println(time1);//1603459013154
 //从1970.1.1[计算机元年]至创建date1[当前计算机系统时间]的毫秒值
 
 //void = setTime(long time)
 date1.setTime(1603459013154L);//将date1设置为1603459013154对应的时间不变
 
 //boolean = after(Date when) boolean = before(Date when)
 //测试这个日期是否在when之前或之后
 Date date2 = new Date();
 boolean b1 = date2.before(date1);
 System.out.println(b1);//false
 boolean b2 = date2.after(date1);
 System.out.println(b2);//true

二.SimpleDateFormat类

  1. 在java.text包中,是抽象类DateFormat的子类,可以格式化Date。
  2. 构造方法:通常使用无参或带String型参数的构造方法
public SimpleDateFormat(){}
public SimpleDateFormat(String pattern){}
  1. 使用及其方法:
//使用空的构造方法创建对象
SimpleDateFormat sdf1 = new SimpleDateFormat();
//String = format(Date date) 是父类DateFormat类的方法
String dateTime1 = sdf1.format(date1);
//将日期转为日期时间字符串
System.out.println(dateTime1);//20-10-23 下午9:25

//使用有参的构造方法创建对象
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//pattern为时间模式,可设置输出的格式,模式有许多,如下
//pattern="yyyyMMddhhmmss"-->20201023212528
//pattern="yy.MM.dd hh:mm:ss"-->20.10.23 21:25:28 	等等
String dateTime2 = sdf2.format(date1);
System.out.println(dateTime2);//2020-10-23 21:25:28

//String = toPattern() SimpleDateFormat类中的方法
//输出此日期的模式字符串
String value1 = sdf1.toPattern();
System.out.println(value1);//yy-M-d ah:mm
String value2 = sdf2.toPattern();
System.out.println(value2);//yyyy-MM-dd HH:mm:ss

三.TimeZone类

  1. 在java.util包中,是抽象类。
  2. 构造方法:
public TimeZone(){}
  1. 使用及方法:
//static TimeZone = getDefault();
//获取虚拟机默认的TimeZone(Asia/Shanghai)
TimeZone tz1 = TimeZone.getDefault();
String id = tz1.getID();
//获取此时区的id
System.out.println(id);//Asia/Shanghai

//String = getDefault();
//返回此TimeZone的长标准时间名称,适合在默认区域设置中呈现给用户
String values = tz1.getDefault();
System.out.println(value3);//中国标准时间

四.Calendar类

  1. 在java.util包中,是个抽象类。
  2. 构造方法:
//用一个默认时区和默认区域设置构建日历
protected Calendar() {}

//用一个已指定时区和区域设置构建日历
protected Calendar(TimeZone zone, Locale aLocale) {}
  1. 使用及方法:
//static Calendar = getInstance()
Calendar calendar1 = Calendar.getInstance();//构建了系统当前时间的Calendar对象
//用protected修饰的构造方法一般通过getInstance()方法获取当前对象
System.out.println(calendar1);//输出中我们可以找到如下许多信息
/**
time=1603517596878,
id="Asia/Shanghai",
YEAR=2020,
MONTH=9,WEEK_OF_YEAR=43,WEEK_OF_MONTH=4,DAY_OF_MONTH=24,DAY_OF_YEAR=298,
DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=1,HOUR_OF_DAY=13,
MINUTE=33,SECOND=16,MILLISECOND=878,ZONE_OFFSET=28800000,DST_OFFSET=0]
*

在Calendar中包含Date属性,我们可以通过Calendar类来操作Date类中的局部信息,get获取、set修改。

//int = get(int field)
//返回给定日历属性的值
int years = calendar.get(Calendar.YEAR);
System.out.println(years);//2020

int months = calendar.get(Calendar.MONTH);
System.out.println(months);//9 

//void = set(int field,int value)
//设置给定属性日历的值
calendar1.set(Calendar.MONTH,3);
System.out.println(calendar1.get(Calendar.MONTH));//3

**** 在calendar中month是从0开始记的。**

int days = calendar1.get(Calendar.DAY_OF_MONTH);
System.out.println(days);//24
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值