分享

Java中日期的格式

 xue_dong5437 2011-05-19

1、java.util.Date类

用于表示日期和时间,要获取当前时间,可以使用下面的代码:

  1. Date d = new Date();  
  2. System.out.println(d.toString()); 

下面是输出的结果:

Mon Feb 06 15:45:47 CST 2006

如果想按照特定的格式进行输出,可以按照下面的方法完成,但是现在的版本中建议不要使用。

  1. int year = d.getYear()+1900;  
  2. int month = d.getMonth()+1;  
  3. int date = d.getDate();  
  4. int hour = d.getHours();  
  5. int minute = d.getMinutes();  
  6. int second = d.getSeconds();  
  7. System.out.println(year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second); 

执行的结果如下:

2006-2-6 15:52:31

如果想根据年月日来确定一个Date对象可以先创建一个对象,然后使用 setter方法来完成,例如:setYear(int)、setMonth(int)等,当然这些方法也是建议不使用。如果想对时间进行比较灵活的处理可以使用DateFormat和SimpleDateFormat。

如果想按照下面的格式进行输出:

2006年02月06日 16点05分37秒

可以使用下面的代码:

  1. DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 hh点mm分ss秒");  
  2. String str = df.format(d);  
  3. System.out.println(str); 

格式中yyyy表示年份,可以写2位,MM表示月份,可以写1位,dd表示日,可以写1位,hh表示小时,mm表示分钟(注意大小写),ss表示秒。

注意:DateFormat和SimpleDateFormat在 java.text包中,使用的时候需要引入。

要想把一个日期字符串转换成一个时间,例如把“2006-2-6”转换成日期,可以使用下面的代码:

  1. String dates = "2006-2-6";  
  2. //定义日期字符串  
  3. DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd");  
  4. //定义日期字符串的格式  
  5. Date d2;  
  6. //声明日期对象  
  7. try {  
  8.     d2 = df2.parse(dates);  
  9.     //把日期字符串转换成日期  
  10.     System.out.println(df2.format(d2));  
  11. }catch (ParseException ex) {  

需要注意的是在转换的时候需要进行异常处理,因为在转换的时候可能会产生异常。

下面再来看看一些关于日期和时间的转换符:

 

常见日期格式化转换符
转换符说  明示  例
%te 一个月中的某一天(1~31) 2
%tb 指定语言环境的月份简称 Feb(英文)、二月(中文)
%tB 指定语言环境的月份全称 February(英文)、二月(中文)
%tA 指定语言环境的星期几全称 Monday(英文)、星期一(中文)
%ta 指定语言环境的星期几简称 Mon(英文)、星期一(中文)
%tc 包括全部日期和时间信息 星期四 十一月 26 10:26:30 CST 2009
%tY 4位年份 2009
%tj 一年中的第几天(001~366) 085
%tm 月份 03
%td 一个月中的第几天(01~31) 08
%ty 2位年份 09
时间格式化转换符
转换符说  明示  例
%tH 2位数字的24小时制的小时(00~23) 14
%tI 2位数字的12小时制的小时(01~12) 05
%tk 2位数字的24小时制的小时(1~23) 5
%tl 2位数字的12小时制的小时(1~12) 10
%tM 2位数字的分钟(00~59) 05
%tS 2位数字的秒数(00~60) 12
%tL 3位数字的毫秒数(000~999) 920
%tN 9位数字的微秒数(000000000~999999999) 062000000000
%tp 指定语言环境下上午或下午标记 下午(中文)、pm(英文)
%tz 相对于GMT RFC 82格式的数字时区偏移量 +0800
%tZ 时区缩写形式的字符串 CST
%ts 1970-01-01 00:00:00至现在经过的秒数 1206426646
%tQ 1970-01-01 00:00:00至现在经过的毫秒数 1206426737453
常见的日期时间组合转换符
转换符说  明示  例
%tF “年-月-日”格式(4位年份) 2009-01-26
%tD “月/日/年”格式(2位年份) 03/25/09
%tr “时:分:秒 PM(AM)”格式(12小时制) 03:22:06 下午
%tT “时:分:秒”格式(24小时制) 15:23:50
%tR “时:分”格式(24小时制) 15:23

看个小例子:

  1. package date;  
  2.  
  3. import java.util.Date;  
  4.  
  5. public class DateAndTime {  
  6.     public static void main(String[] args) {  
  7.         Date date = new Date();  
  8.         String time = String.format("%tc", date);  
  9.         String form = String.format("%tF", date);  
  10.           
  11.         System.out.println("全部的时间信息是:"+time);  
  12.         System.out.println("年-月-日的日期格式:"+form);  
  13.     }  
  14.  

运行结果如下:

全部的时间信息是:星期三 三月 03 22:50:36 CST 2010

年-月-日的日期格式:2010-03-03

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多