在 Java SE(Standard Edition)中,有三个常用的日期和时间相关类:Date
类、Calendar
类和 SimpleDateFormat
类。
Date
类:Date
类用于表示特定的日期和时间,精确到毫秒。Date
类的一些方法已被废弃或过时,推荐使用更现代化的日期和时间类。Date
类可以用于获取当前时间、日期比较、格式化等操作。
示例代码:
Date currentDate = new Date(); // 获取当前时间
long timestamp = currentDate.getTime(); // 获取当前时间的时间戳
Calendar
类:Calendar
类用于处理日期和时间,提供了许多有用的方法。Calendar
类是一个抽象类,通过调用其静态工厂方法getInstance()
可以获取一个Calendar
对象实例,该实例表示当前日期和时间。Calendar
类提供了方法来获取年、月、日等各个时间字段的值,以及进行日期运算。
示例代码:
Calendar calendar = Calendar.getInstance(); // 获取当前日期和时间的 Calendar 对象
int year = calendar.get(Calendar.YEAR); // 获取当前年份
int month = calendar.get(Calendar.MONTH); // 获取当前月份(注意:月份从 0 开始)
int day = calendar.get(Calendar.DAY_OF_MONTH); // 获取当前日期
SimpleDateFormat
类:SimpleDateFormat
类用于将日期格式化为指定的字符串,或将字符串解析为日期对象。SimpleDateFormat
类使用一组预定义的模式字母来描述日期和时间的格式。SimpleDateFormat
是线程不安全的,不建议在多线程环境中共享实例。
示例代码:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 定义日期格式化模式
Date date = new Date();
String formattedDate = sdf.format(date); // 将日期格式化为字符串
System.out.println(formattedDate); // 输出格式化后的日期字符串