Java中(Date、DateFormat、Calendar)的构造方法和常用成员方法【内含详细的sql、util.Date相互转换】

Date & Calendar

1.Date

表示特定的瞬间,精确到毫秒

1.2构造方法

说明
public Date()根据当前的默认毫秒值创建日期对象
public Date(long date)根据给定的毫秒值创建日期对象

1.3成员方法

说明
public long getTime()获取时间,以毫秒为单位
public void setTime(long time))设置时间

1.4优点

  1. 快速通过当前毫秒值或者指定毫秒值创建日期对象,比较方便·
  2. 日期日历类的相互转换都是依赖毫秒值

1.5缺点

  1. 显示时间的格式不太友好
  2. 大部分获取某一个具体的年份,月份…的方法已经过时

1.6java.sql.Date 和 java.util.Date之间的相互转换

java.sql.Date只显示日期不显示时间(e.g. 2019-11-08)

java.util.Date DateUtil = new java.util.Date();
//java.util.Date -> java.sql.Date
java.sql.Date DateSql = new java.sql.Date(DateUtil.getTime());
//java.sql.Date -> java.util.Date
java.util.Date DateUtil2 = new java.util.Date(DateSql.getTime());

2.DateFormat类

是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间y因为DateFormate是抽象类,所以可以使用该类的子类SimpleDateFormat 。

2.1构造方法

  • public SimpleDateFormat()
  • public SimpleDateFormat(String pattern)

2.2成员方法

说明
public final String format(Date date)格式化:将实体对象转换成指定格式的文本
public Date parse(String source)解析:提取文本中的信息到指定的实体对象

3.Calendar

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段,瞬间可用毫秒值来表示

3.1成员方法

  • public static Calendar getInstance()

  • public int get(int field)

  • public void add(int field,int amount)

  • public final void set(int year,int month,int date)

public static void main(String[] args) {
		Calendar c = Calendar.getInstance();
		System.out.println(c);
		
		int year = c.get(Calendar.YEAR);
		int month = c.get(Calendar.MONTH) + 1;
		int day = c.get(Calendar.DAY_OF_MONTH);
		int hour = c.get(Calendar.HOUR);
		int minute = c.get(Calendar.MINUTE);
		int second = c.get(Calendar.SECOND);
		String formatDate = String.format("现在是北京时间%d年%d月%s日 %d:%d:%d!!!", year, month,
				day < 10 ? ("0" + day) : String.valueOf(day), hour, minute, second);
		System.out.println(formatDate);
}

3.2日历和日期的相互转换,通过毫秒值

		Date d = new Date(c.getTimeInMillis());
		System.out.println(d);
		
		Calendar c2 = Calendar.getInstance();
		c2.setTime(d);
		System.out.println(c2);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值