栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java中有关时间的类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java中有关时间的类

java中有关时间的类
  • 1.Date
  • 2.Calendar
  • 3.第三代日期表示法

1.Date

java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。

示例:

// 获取当前系统时间
Date date = new Date();
// 默认输出日期格式为国外格式
System.out.println(date);
// 日期格式化
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
String formatDate = sdf.format(date);
System.out.println(formatDate);
// 通过毫秒数转换时间
Date date1 = new Date(92345678);
System.out.println(sdf.format(date1));
// 字符串转化为date
String stringDate = "2022年07月19日 11:23:25";
Date date2 = sdf.parse(stringDate);
System.out.println(sdf.format(date2));
-------------------------------
输出:
Tue Jul 19 23:25:42 CST 2022
2022年07月19日 11:25:42
1970年01月02日 09:39:05
2022年07月19日 11:23:25

2.Calendar

Calendar类为私有对象,该对象对外提供了一个getInstance方法用户外部获取对象

// Calendar
Calendar c = Calendar.getInstance();
System.out.println(c.get(Calendar.YEAR));
// 月份从0开始
System.out.println(c.get(Calendar.MONTH) + 1);
System.out.println(c.get(Calendar.DAY_OF_MONTH));
System.out.println(c.get(Calendar.HOUR));
// 24小时制
System.out.println(c.get(Calendar.HOUR_OF_DAY));
System.out.println(c.get(Calendar.MINUTE));
System.out.println(c.get(Calendar.SECOND));

注意:Calendar类并未提供格式化相关的方法,所以需要自己进行拼接使用✨


3.第三代日期表示法

为了方便对日期值进行操作,java在JDK1.8之后推出了第三代日期表示法

基本使用方法:

// 第三代日期
// 获取当前时间
LocalDateTime ldt = LocalDateTime.now();
System.out.println(ldt);
System.out.println(ldt.getYear());
// 获取月份的英文表示
System.out.println(ldt.getMonth());
// 获取月份的数字表示
System.out.println(ldt.getMonthValue());
System.out.println(ldt.getHour());
System.out.println(ldt.getMinute());
System.out.println(ldt.getSecond());
// 只获取年月日
LocalDate ld = LocalDate.now();
System.out.println(ld);
// 只获取时分秒
LocalTime lt = LocalTime.now();
System.out.println(lt);

第三代日期同样支持时间的格式化操作:

// 第三代日期的格式化
DateTimeFormatter bestDateFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH小时mm分钟ss秒");
String formatter = bestDateFormatter.format(ldt);
System.out.println(formatter);

第三代日期类增加了时间戳对象:

// 时间戳
// 获取当前时间戳
Instant now = Instant.now();
System.out.println(now);
// 时间戳 --> Date
Date date3 = Date.from(now);
System.out.println(date3);
// Date --> 时间戳
Instant instant = date3.toInstant();
System.out.println(instant);

第三代日期类还支持对日期进行运算操作:

// 日期运算
// 521天后的日期
LocalDateTime localDateTime = ldt.plusDays(521);
System.out.println(bestDateFormatter.format(localDateTime));
// 3456分钟前的时间
LocalDateTime localDateTime1 = ldt.minusMinutes(3456);
System.out.println(bestDateFormatter.format(localDateTime1));

脚踏实地!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019846.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号