Java时间格式的相互转换

本文详细介绍了如何在Java中将Calendar对象转化为String,反之亦然,以及如何将Date对象转化为String,反之亦然。此外,还展示了如何将String转换为Timestamp,以及如何将Date转换为Timestamp。

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

原文链接:String Date Calendar之间的转换


1.Calendar 转化 String

Calendar calendat = Calendar.getInstance();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String dateStr = sdf.format(calendar.getTime());

 

2.String 转化Calendar

String str="2012-5-27";

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");

Date date =sdf.parse(str);

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

 

3.Date 转化String

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");

String dateStr=sdf.format(new Date());

 

4.String 转化Date

String str="2012-5-27";

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");

Date date= sdf.parse(str);

 

5.Date 转化Calendar

Calendar calendar = Calendar.getInstance();

calendar.setTime(new java.util.Date());

 

6.Calendar转化Date

Calendar calendar = Calendar.getInstance();

java.util.Date date =calendar.getTime();

 

7.String 转成 Timestamp

Timestamp ts = Timestamp.valueOf("2012-1-14 08:11:00");

 

8.Date 转 TimeStamp

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String time = df.format(new Date());

Timestamp ts = Timestamp.valueOf(time);


### Java 日期格式转换教程与示例代码 在Java中,日期和时间的处理可以通过多种方式实现。以下是一些常用的日期格式转换方法及其实现代码。 #### 使用 `SimpleDateFormat` 类进行日期格式转换 `SimpleDateFormat` 是 `java.text` 包中的一个类,用于将日期对象格式化为字符串或将字符串解析为日期对象[^2]。 ```java import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateFormatExample { public static void main(String[] args) { // 定义日期格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { // 将字符串转换为Date对象 String dateString = "2023-10-05 14:30:00"; Date date = sdf.parse(dateString); System.out.println("字符串转日期: " + date); // 将Date对象转换为字符串 String formattedDate = sdf.format(new Date()); System.out.println("日期转字符串: " + formattedDate); } catch (ParseException e) { e.printStackTrace(); } } } ``` #### 使用 `Calendar` 类进行日期转换 `Calendar` 类可以用来获取或设置日期和时间字段,并且可以与 `Date` 对象相互转换[^2]。 ```java import java.util.Calendar; import java.util.Date; public class CalendarExample { public static void main(String[] args) { // 获取当前时间 Calendar calendar = Calendar.getInstance(); System.out.println("当前时间: " + calendar.getTime()); // 设置时间 Date date = new Date(); calendar.setTime(date); // 获取时间 Date convertedDate = calendar.getTime(); System.out.println("转换后的日期: " + convertedDate); } } ``` #### 使用 Java 8 的 `java.time` 包 从 Java 8 开始,引入了新的日期和时间API (`java.time`),提供了更强大和易用的功能[^1]。 ```java import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Java8DateTimeExample { public static void main(String[] args) { // 定义日期格式 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 当前日期时间 LocalDateTime now = LocalDateTime.now(); System.out.println("当前日期时间: " + now); // 格式化日期时间 String formattedDateTime = now.format(formatter); System.out.println("格式化后的日期时间: " + formattedDateTime); // 解析字符串为日期时间 LocalDateTime parsedDateTime = LocalDateTime.parse("2023-10-05 14:30:00", formatter); System.out.println("解析后的日期时间: " + parsedDateTime); } } ``` #### 注意事项 1. 在使用 `SimpleDateFormat` 时,需要注意线程安全问题,因为它不是线程安全的[^2]。 2. 推荐在多线程环境中使用 Java 8 的 `java.time` 包,因为它是线程安全的[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值