Java常用日期类
2023-12-15 18:02:11
1.日期类
1.Date类
比较常用的日期类,
import java.util.Date;
public class DateExample {
public static void main(String[] args) {
Date now = new Date();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr=df.format(now);
System.out.println("Current time: " + now);
}
}
date类的使用比较简单,但在使用过程中会出现可变性、线程安全性等不足。
2.localDate类
import java.time.LocalDate;
public class LocalDateExample {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
System.out.println("Today's date: " + today);
}
}
LocalDate 类提供了一系列方法用于获取、设置和操作日期。例如,我们可以使用 getYear()、getMonthValue() 和 getDayOfMonth() 分别获取年份、月份和日期。此外,还可以使用 plusDays()、minusMonths() 等方法进行日期的加减运算。
?
//用localDate获取当前是今年第几周
LocalDate localDateDay =LocalDate.now();
int ByLocalDateTime = localDateDay.get(WeekFields.ISO.weekOfYear())
System.out.println("第几周ByLocalDateTime="+ByLocalDateTime);
2.日期转换类
1.DateTimeFormatter和SimpleDateFormat
简介:
DateTimeFormatter 和 SimpleDateFormat 都是用于格式化日期和时间的类,但是它们有一些区别。
SimpleDateFormat 是 Java 早期版本中提供的日期格式化类,他是线程不安全的。由于 SimpleDateFormat 是线程不安全的,所以如果在多线程环境中使用会出现异常,通常的解决方法要么是每个线程独立维护一份 SimpleDateFormat 对象实例,要么是将 SimpleDateFormat 放到 ThreadLocal 中。
在Java 8中新增了DateTimeFormatter 类,它比 SimpleDateFormat 更加灵活和安全。DateTimeFormatter 是不变对象,且是线程安全的。所以在使用 DateTimeFormatter 的时候,可以以静态成员变量的方式,在一个类中只维护一份对象实例,用于格式化多个日期和时间值,而无需担心线程安全问题。
?
区别:
- DateTimeFormatter 和 SimpleDateFormat 都是 Java 中用于日期和时间格式化的类,但它们之间存在以下区别:
- 线程安全性:DateTimeFormatter 是线程安全的,而 SimpleDateFormat 不是。
- 类型支持:DateTimeFormatter 支持多种日期和时间类型,例如 LocalDate、LocalTime、LocalDateTime、ZonedDateTime、OffsetDateTime 等。而 SimpleDateFormat 只支持 Date 类型。
- 解析能力:DateTimeFormatter 可以将字符串解析为日期和时间类型,而 SimpleDateFormat 不支持解析操作。
- 本地化:DateTimeFormatter 支持本地化,可以根据不同的语言和国家的习惯格式化日期和时间。而 SimpleDateFormat 也支持本地化,但使用较为麻烦。
?
文章来源:https://blog.csdn.net/qq_44038822/article/details/135019501
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!