SimpleDateFormat转换时间,12,24时间格式

本文介绍如何使用Java的SimpleDateFormat类进行12小时制和24小时制的时间格式化,并展示了利用Calendar类获取当前时间的不同表示方法。

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

在使用SimpleDateFormat时格式化时间的 yyyy.MM.dd 为年月日而如果希望格式化时间为12小时制的,则使用hh:mm:ss 如果希望格式化时间为24小时制的,则使用HH:mm:ss

 

        Date d = new Date();  

        SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//12小时制  

        System.out.println(ss.format(d));  

        Date date = new Date();  

        SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制  

        String LgTime = sdformat.format(date);  

        System.out.println(LgTime);  

 

结果为  

2008-05-28 01:32:54 

2008-05-28 13:32:54 

[java]  view plain copy
  1. Date d = new Date();  
  2.         SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//12小时制  
  3.         System.out.println(ss.format(d));  
  4.   
  5.         Date date = new Date();  
  6.         SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制  
  7.         String LgTime = sdformat.format(date);  
  8.         System.out.println(LgTime);  
  9.   
  10.   
  11. 结果为  
  12. 2008-05-28 01:32:54  
  13. 2008-05-28 13:32:54  

  Date类,已经很少用了。更多使用的是Calendar   
  Calendar
    date    =    Calendar.getInstance();   
  date.get(Calendar.HOUR_OF_DAY    );//得到24小时机制的   
  date.get(Calendar.HOUR);//    得到12小时机制的   

 

如下是应用calendar的时间转换类

[java]  view plain copy
  1. <span style="color:#000000; font-weight:bold">package</span> <span style="color:#06699">test</span><span style="color:#339933">;</span>  
  2.    
  3. <span style="color:#000000; font-weight:bold">import</span> <span style="color:#06699">java.io.IOException</span><span style="color:#339933">;</span>  
  4. <span style="color:#000000; font-weight:bold">import</span> <span style="color:#06699">java.text.SimpleDateFormat</span><span style="color:#339933">;</span>  
  5. <span style="color:#000000; font-weight:bold">import</span> <span style="color:#06699">java.util.Calendar</span><span style="color:#339933">;</span>  
  6. <span style="color:#000000; font-weight:bold">import</span> <span style="color:#06699">java.util.Date</span><span style="color:#339933">;</span>  
  7.    
  8.    
  9. <span style="color:#000000; font-weight:bold">public</span> <span style="color:#000000; font-weight:bold">class</span> Main <span style="color:#0990">{</span>  
  10.    
  11.     <span style="color:#0800; font-style:italic; font-weight:bold">/** 
  12.      * @param args 
  13.      * @throws IOException  
  14.      */</span>  
  15.     <span style="color:#000000; font-weight:bold">public</span> <span style="color:#000000; font-weight:bold">static</span> <span style="color:#0066; font-weight:bold">void</span> main<span style="color:#0990">(</span><span style="color:#03399">String</span><span style="color:#0990">[</span><span style="color:#0990">]</span> args<span style="color:#0990">)</span> <span style="color:#000000; font-weight:bold">throws</span> <span style="color:#03399">IOException</span> <span style="color:#0990">{</span>  
  16.         <span style="color:#666666; font-style:italic">// TODO Auto-generated method stub</span>  
  17.         <span style="color:#03399">Calendar</span> c<span style="color:#339933">=</span><span style="color:#03399">Calendar</span>.<span style="color:#06633">getInstance</span><span style="color:#0990">(</span><span style="color:#0990">)</span><span style="color:#339933">;</span>  
  18.         <span style="color:#0066; font-weight:bold">long</span> milliseconds<span style="color:#339933">=</span>c.<span style="color:#06633">getTimeInMillis</span><span style="color:#0990">(</span><span style="color:#0990">)</span><span style="color:#339933">;</span>  
  19.         <span style="color:#03399">System</span>.<span style="color:#06633">out</span>.<span style="color:#06633">println</span><span style="color:#0990">(</span><span style="color:#00ff">"当前时间毫秒值:"</span><span style="color:#339933">+</span>milliseconds<span style="color:#0990">)</span><span style="color:#339933">;</span>  
  20.         <span style="color:#666666; font-style:italic">//当前时间</span>  
  21.         <span style="color:#03399">SimpleDateFormat</span> sdf<span style="color:#339933">=</span><span style="color:#000000; font-weight:bold">new</span> <span style="color:#03399">SimpleDateFormat</span><span style="color:#0990">(</span><span style="color:#00ff">"yyyy-MM-dd hh:mm:ss"</span><span style="color:#0990">)</span><span style="color:#339933">;</span>   
  22.         <span style="color:#03399">System</span>.<span style="color:#06633">out</span>.<span style="color:#06633">println</span><span style="color:#0990">(</span><span style="color:#00ff">"直接格式化毫秒值输出:"</span><span style="color:#339933">+</span>sdf.<span style="color:#06633">format</span><span style="color:#0990">(</span>milliseconds<span style="color:#0990">)</span><span style="color:#0990">)</span><span style="color:#339933">;</span>  
  23.         <span style="color:#666666; font-style:italic">//2011-08-20 04:27:16</span>  
  24.         <span style="color:#03399">Date</span> d<span style="color:#339933">=</span><span style="color:#000000; font-weight:bold">new</span> <span style="color:#03399">Date</span><span style="color:#0990">(</span>milliseconds<span style="color:#0990">)</span><span style="color:#339933">;</span>  
  25.         <span style="color:#666666; font-style:italic">//转换成Date对象</span>  
  26.         <span style="color:#03399">System</span>.<span style="color:#06633">out</span>.<span style="color:#06633">println</span><span style="color:#0990">(</span><span style="color:#00ff">"Date对象输出时间:"</span><span style="color:#339933">+</span>sdf.<span style="color:#06633">format</span><span style="color:#0990">(</span>d<span style="color:#0990">)</span><span style="color:#0990">)</span><span style="color:#339933">;</span>  
  27.         <span style="color:#03399">Calendar</span> c2<span style="color:#339933">=</span><span style="color:#03399">Calendar</span>.<span style="color:#06633">getInstance</span><span style="color:#0990">(</span><span style="color:#0990">)</span><span style="color:#339933">;</span>  
  28.         <span style="color:#03399">System</span>.<span style="color:#06633">out</span>.<span style="color:#06633">println</span><span style="color:#0990">(</span><span style="color:#00ff">"Calendar设置前毫秒值:"</span><span style="color:#339933">+</span>c2.<span style="color:#06633">getTimeInMillis</span><span style="color:#0990">(</span><span style="color:#0990">)</span><span style="color:#0990">)</span><span style="color:#339933">;</span>  
  29.         c2.<span style="color:#06633">setTime</span><span style="color:#0990">(</span>d<span style="color:#0990">)</span><span style="color:#339933">;</span>  
  30.         <span style="color:#666666; font-style:italic">//通过setTime方法转换回Calendar对象</span>  
  31.         <span style="color:#03399">System</span>.<span style="color:#06633">out</span>.<span style="color:#06633">println</span><span style="color:#0990">(</span><span style="color:#00ff">"Calendar设置后毫秒值:"</span><span style="color:#339933">+</span>c2.<span style="color:#06633">getTimeInMillis</span><span style="color:#0990">(</span><span style="color:#0990">)</span><span style="color:#0990">)</span><span style="color:#339933">;</span>  
  32.     <span style="color:#0990">}</span>  
  33.    
  34. <span style="color:#0990">}</span>  
Instant和SimpleDateFormat是Java中处理时间格式化和转换的两个类。 1. Instant类是Java 8引入的一个时间类,用于表示时刻。它是不可变的,可以精确到纳秒级别,并且可以与时区无关。通过Instant类,我们可以方便地进行日期和时间的操作和计算。 2. SimpleDateFormat是一个旧的Java类,用于将Date对象格式化为指定的日期和时间字符串,或将日期和时间字符串解析为Date对象。它可以使用不同的模式来指定日期和时间的格式。 要将Instant对象转换为指定格式的时间字符串,可以使用DateTimeFormatter类(Java 8及以上版本)或SimpleDateFormat类(Java 7及以下版本)。 例如,要将Instant对象转换为"yyyy-MM-dd HH:mm:ss"格式的时间字符串,可以使用以下代码: Java 8及以上版本: ``` Instant instant = Instant.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedDateTime = formatter.format(instant); ``` Java 7及以下版本: ``` Instant instant = Instant.now(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String formattedDateTime = formatter.format(Date.from(instant)); ``` 而要将指定格式的时间字符串解析为Instant对象,可以使用以下代码: Java 8及以上版本: ``` String dateTimeString = "2022-05-10 15:30:00"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); Instant instant = Instant.parse(dateTimeString, formatter); ``` Java 7及以下版本: ``` String dateTimeString = "2022-05-10 15:30:00"; SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = formatter.parse(dateTimeString); Instant instant = date.toInstant(); ``` 总结:Instant类是用于表示时刻的,SimpleDateFormat类是用于格式化和解析日期和时间字符串的。要将Instant对象转换为指定格式的时间字符串,可以使用DateTimeFormatter类或SimpleDateFormat类;要将指定格式的时间字符串解析为Instant对象,也可以使用DateTimeFormatter类或SimpleDateFormat类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值