java date如何赋值
使用 java.util.Date 构造函数
java.util.Date 提供了多个构造函数用于赋值:

// 当前时间
Date currentDate = new Date();
// 指定毫秒数(从1970年1月1日00:00:00 GMT开始计算)
Date dateFromMillis = new Date(1625097600000L);
// 已废弃的构造函数(不推荐使用)
@Deprecated
Date dateFromYearMonth = new Date(121, 5, 15); // 2021年6月15日(年份从1900起算)
通过 java.util.Calendar 设置
Calendar 类提供更灵活的日期操作:

Calendar calendar = Calendar.getInstance();
calendar.set(2023, Calendar.JANUARY, 1); // 2023年1月1日
Date specificDate = calendar.getTime();
使用 java.text.SimpleDateFormat 解析字符串
将字符串转换为 Date 对象:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date parsedDate = sdf.parse("2023-12-31");
} catch (ParseException e) {
e.printStackTrace();
}
使用 java.time 包(Java 8+推荐)
java.time.LocalDate 和 LocalDateTime 可通过 Date 转换:
import java.time.*;
import java.time.ZoneId;
LocalDate localDate = LocalDate.of(2023, 12, 31);
Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
LocalDateTime localDateTime = LocalDateTime.of(2023, 12, 31, 23, 59);
Date dateTime = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
注意事项
- 废弃方法如
Date(year, month, day)已不推荐使用,应改用Calendar或java.time。 - 时区问题需注意,
Date本质存储的是UTC毫秒数,显示时依赖系统时区。 - Java 8及以上版本建议优先使用
java.time包(如LocalDate),需与旧代码交互时再转换为Date。






