JAVA new date() 弃用

本文介绍了一个简单的Java程序,用于获取并打印当前的年份、月份(已加1以符合常规认知)、日期及小时数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

		Calendar cd=Calendar.getInstance();
		System.out.println(cd.get(Calendar.YEAR));
		System.out.println(cd.get(Calendar.MONTH)+1);
		System.out.println(cd.get(Calendar.DATE));
		
		System.out.println(cd.get(Calendar.HOUR_OF_DAY));

 

### 创建新的 `Date` 对象 在 Java 中,可以通过多种方式来创建一个新的 `Date` 对象。以下是几种常见的方法: #### 使用无参构造函数 最简单的方法是使用 `java.util.Date` 类的默认构造函数,这会创建一个表示当前时间的对象。 ```java import java.util.Date; Date currentDate = new Date(); System.out.println("Current date: " + currentDate); ``` 这种方法非常直观,但是需要注意的是,`Date` 的这种用法已经被认为过时了,在新代码中推荐使用更现代的时间 API[^1]。 #### 使用 `Calendar` 类 另一种常见的方式是通过 `Calendar` 实例获取并设置日期值后再转换成 `Date` 对象。 ```java import java.util.Calendar; import java.util.Date; Calendar calendar = Calendar.getInstance(); calendar.set(2023, Calendar.OCTOBER, 5); // 设置特定年月日 Date specificDate = calendar.getTime(); System.out.println("Specific date: " + specificDate); ``` 这种方式提供了更多的灵活性,允许精确指定想要创建的具体日期。 #### 使用 `LocalDateTime` 和 `Instant` 对于较新的应用程序开发来说,建议采用 Java 8 引入的新时间 API 来代替旧版 `Date`/`Calendar` 组合。下面展示了如何利用这些类来获得当前时间和自定义时间点对应的 `Date` 对象。 ```java import java.time.Instant; import java.util.Date; // 获取当前时刻作为 Instant 并转为 Date Date nowAsDateFromInstant = Date.from(Instant.now()); System.out.println("Now as Date from Instant: " + nowAsDateFromInstant); // 或者直接操作 LocalDateTime 转换到 ZonedDateTime 再取其 instant 进而得到 Date import java.time.LocalDateTime; import java.time.ZoneId; LocalDateTime ldt = LocalDateTime.of(2023, 10, 5, 12, 0, 0); Date customDateViaLDT = Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant()); System.out.println("Custom date via LocalDateTime: " + customDateViaLDT); ``` 上述例子说明了不同场景下创建 `Date` 对象的不同途径,并强调了随着 JDK 版本更新带来的改进实践。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值