java获取当前年月日时分秒等

本文通过Java的Calendar类详细介绍了如何获取当前年、月、日、小时、分钟和秒,并展示了获取本周、本月、本年第一天和最后一天的方法。适合初学者和经验分享。

Calendarcal=Calendar.getInstance();

// 当前年
int year = cal.get(Calendar.YEAR);
// 当前月
int month = cal.get(Calendar.MONTH) + 1;
// 当前日
int day = cal.get(Calendar.DATE);
// 当前小时
int hour = cal.get(Calendar.HOUR_OF_DAY);
// 当前分钟
int minute = cal.get(Calendar.MINUTE);
// 当前秒
int second = cal.get(Calendar.SECOND);

System.out.println(year+“年”+month+“月”+ day +“日”+hour +“时” +minute +“分” +second+ “秒”);

// 当前是本周第几天
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
// 当前是本月第几天
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
// 当前是本年第几天
int dayOfYear = cal.get(Calendar.DAY_OF_YEAR);

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
// 当月第一天
cal= Calendar.getInstance();
cal.add(Calendar.MONTH, 0);
cal.set(Calendar.DAY_OF_MONTH, 1);
String firstday = format.format(cal.getTime());

System.out.println(“本月第一天是:” + firstday );

// 当月最后一天
cal= Calendar.getInstance();
cal.add(Calendar.MONTH, 1);
cal.set(Calendar.DAY_OF_MONTH, 0);
String lastday = format.format(cal.getTime());

System.out.println(“本月最后一天是:” + lastday);

// 通过Date对象获取
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = new Date(); 
System.out.println("当前日期字符串:" + format.format(date));
### Java获取当前日期时间 (年月日时分秒) 在 Java 编程中,可以通过 `java.util.Calendar` 或者更现代的方式——`java.time.LocalDateTime` 来获取当前的年、月、日、时、分、秒。以下是两种方法的具体实现。 #### 方法一:使用 `Calendar` 类 `Calendar` 是一个抽象类,它提供了访问和修改日期字段的功能。可以利用其子类实例化对象并提取所需的日期部分: ```java import java.util.Calendar; public class Main { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; // 注意:月份从0开始计数 int day = calendar.get(Calendar.DAY_OF_MONTH); int hour = calendar.get(Calendar.HOUR_OF_DAY); // 使用24小时制 int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); System.out.println("Year: " + year + ", Month: " + month + ", Day: " + day + ", Hour: " + hour + ", Minute: " + minute + ", Second: " + second); } } ``` 这种方法适用于较旧版本的 JDK[^1]。 #### 方法二:使用 `LocalDateTime` 类 自 Java 8 起引入了新的日期时间 API (`java.time`),推荐使用该模块下的 `LocalDateTime` 类来处理日期和时间。这种方式更加直观且线程安全: ```java import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); int year = now.getYear(); int month = now.getMonthValue(); // 返回的是1到12之间的整数 int day = now.getDayOfMonth(); int hour = now.getHour(); int minute = now.getMinute(); int second = now.getSecond(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedDate = now.format(formatter); System.out.println("Formatted Date-Time: " + formattedDate); System.out.println("Year: " + year + ", Month: " + month + ", Day: " + day + ", Hour: " + hour + ", Minute: " + minute + ", Second: " + second); } } ``` 此代码片段展示了如何通过 `LocalDateTime` 提取各个时间组件以及格式化输出的时间字符串[^2]。 如果还需要包含毫秒级别的精度,则可进一步扩展上述逻辑,如下所示: ```java import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); int millisecond = now.getNano() / 1_000_000; // 将纳秒转换成毫秒 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); String formattedDateWithMillis = now.format(formatter).replace(".000", "." + String.format("%03d", millisecond)); System.out.println("Formatted Date-Time with Milliseconds: " + formattedDateWithMillis); } } ``` 这里特别注意毫秒是从纳秒单位计算而来,并进行了简单的格式调整以匹配标准输出形式[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值