Java日期时间及其格式化

Java日期时间及其格式化

本文转自:http://dengjianqiang200.blog.163.com/blog/static/65811920109145275546/

 

1java.util.Date

 

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


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

下面是输出的结果:

Mon Feb 06 15:45:47 CST 2006

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


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

执行的结果如下:

2006-2-6 15:52:31

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

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

20060206 160537

可以使用下面的代码:


DateFormat df = new SimpleDateFormat("yyyyMMdd hhmmss");  
String str = df.format(d);  
System.out.println(str); 

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

注意:DateFormatSimpleDateFormatjava.text包中,使用的时候需要引入。

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


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

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

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

 


常见日期格式化转换符

转换符

说  明

示  例

%te

 一个月中的某一天(131

 2

%tb

 指定语言环境的月份简称

 Feb英文)、二月(中文)

%tB

 指定语言环境的月份全称

 February英文)、二月(中文)

%tA

 指定语言环境的星期几全称

 Monday英文)、星期一(中文)

%ta

 指定语言环境的星期几简称

 Mon英文)、星期一(中文)

%tc

 包括全部日期和时间信息

 星期四十一月 26 10:26:30 CST 2009

%tY

 4位年份

 2009

%tj

 一年中的第几天(001366

 085

%tm

 月份

 03

%td

 一个月中的第几天(0131

 08

%ty

 2位年份

 09


时间格式化转换符

转换符

说  明

示  例

%tH

 2位数字的24小时制的小时(0023

 14

%tI

 2位数字的12小时制的小时(0112

 05

%tk

 2位数字的24小时制的小时(123

 5

%tl

 2位数字的12小时制的小时(112

 10

%tM

 2位数字的分钟(0059

 05

%tS

 2位数字的秒数(0060

 12

%tL

 3位数字的毫秒数(000999

 920

%tN

 9位数字的微秒数(000000000999999999

 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

 “时:分:秒 PMAM格式(12小时制)

 03:22:06 下午

%tT

 “时:分:秒格式(24小时制)

 15:23:50

%tR

 “时:分格式(24小时制)

 15:23

看个小例子:


package date;  
 
import java.util.Date;  
 
public class DateAndTime {  
    public static void main(String[] args) {  
        Date date = new Date();  
        String time = String.format("%tc", date);  
        String form = String.format("%tF", date);  
          
        System.out.println("
全部的时间信息是:"+time);  
        System.out.println("
--日的日期格式:"+form);  
    }  
 

运行结果如下:

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

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

 

注:格式说明符语法

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值