Java获取当前时间的年月日时分秒方法

本文介绍了一个Java程序,该程序展示了如何使用Calendar类获取系统的年、月、日、时、分、秒等信息,并演示了如何利用SimpleDateFormat进行日期格式化及字符串到日期对象的转换。

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

package com.ob;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateTest {

	public static void main(String[] args) throws ParseException {
		Calendar now = Calendar.getInstance();
		System.out.println("年: " + now.get(Calendar.YEAR));
		System.out.println("月: " + (now.get(Calendar.MONTH) + 1) + "");
		System.out.println("日: " + now.get(Calendar.DAY_OF_MONTH));
		System.out.println("时: " + now.get(Calendar.HOUR_OF_DAY));
		System.out.println("分: " + now.get(Calendar.MINUTE));
		System.out.println("秒: " + now.get(Calendar.SECOND));
		System.out.println("当前时间毫秒数:" + now.getTimeInMillis());
		System.out.println(now.getTime());

		Date d = new Date();
		System.out.println(d);
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String dateNowStr = sdf.format(d);
		System.out.println("格式化后的日期:" + dateNowStr);
		
		String str = "2012-1-13 17:26:33";	//要跟上面sdf定义的格式一样
		Date today = sdf.parse(str);
		System.out.println("字符串转成日期:" + today);
	}
}


输出结果:

年: 2012
月: 1
日: 13
时: 17
分: 28
秒: 19
当前时间毫秒数:1326446899902
Fri Jan 13 17:28:19 CST 2012
Fri Jan 13 17:28:19 CST 2012
格式化后的日期:2012-01-13 17:28:19
字符串转成日期:Fri Jan 13 17:26:33 CST 2012


原文地址:点击打开链接


Java中,可以通过多种方式获取当前时间的年、月、日、时、分、秒。以下是几种常见的实现方法: ### 使用 `java.util.Date` 和 `SimpleDateFormat` ```java import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) { // 创建日期格式化对象 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 获取当前时间 Date date = new Date(); // 格式化输出当前时间 String formattedDate = dateFormat.format(date); System.out.println("当前时间:" + formattedDate); } } ``` 该方法通过 `SimpleDateFormat` 对象定义了日期和时间的格式,并使用 `Date` 对象获取当前时间点的实例,然后将其格式化为字符串进行输出 [^3]。 ### 使用 `Calendar` 类获取更详细的字段信息 如果需要单独获取年、月、日、时、分、秒等具体字段,可以使用 `Calendar` 类: ```java import java.util.Calendar; public class Main { public static void main(String[] args) { // 获取 Calendar 实例 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); System.out.println("月:" + month); System.out.println("日:" + day); System.out.println("时:" + hour); System.out.println("分:" + minute); System.out.println("秒:" + second); } } ``` 此方法利用了 `Calendar` 提供的丰富 API 来获取具体的日期和时间字段值,其中需要注意的是 `Calendar.MONTH` 返回的月份是从 0 开始(即 0 表示一月),因此通常会加 1 以获得符合习惯的月份表示 [^1]。 ### 使用 `LocalDateTime`(Java 8 及以上) 对于 Java 8 及其后续版本,推荐使用新的日期和时间 API,如 `java.time.LocalDateTime` 和 `DateTimeFormatter`: ```java import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { // 获取当前日期时间 LocalDateTime now = LocalDateTime.now(); // 定义格式化模式 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 格式化输出 String formattedNow = now.format(formatter); System.out.println("当前时间:" + formattedNow); } } ``` 这种方法基于 `java.time` 包中的类,提供了更加简洁且线程安全的方式来处理日期和时间,同时避免了传统 `Date` 和 `SimpleDateFormat` 存在线程安全问题的缺陷 [^5]。 ### 总结 不同的 Java 版本支持的方法略有不同,但上述三种方法均能有效满足获取当前时间的需求。选择哪种方法取决于项目的具体需求以及所使用的 Java 版本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值