日期及其格式化

  
日期及其格式化
1、java.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)等,当然这些方法也是建议不使用。如果想对时间进行比较灵活的处理可以使用DateFormat和SimpleDateFormat。
如果想按照下面的格式进行输出:
2006年02月06日 16点05分37秒
可以使用下面的代码:
    DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 hh点mm分ss秒");
    String str = df.format(d);
    System.out.println(str);
格式中yyyy表示年份,可以写2位,MM表示月份,可以写1位,dd表示日,可以写1位,hh表示小时,mm表示分钟(注意大小写),ss表示秒。
注意:DateFormat和SimpleDateFormat在java.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) {
    }
需要注意的是在转换的时候需要进行异常处理,因为在转换的时候可能会产生异常。
2、java.util.Calendar类
Calendar中提供了很多对时间中年、月、日、时、分、秒以及星期进行操作的方法,如果想对时间进行比较详细的操作可以使用Calendar。
该类也是抽象类,使用的时候需要使用getInstance获取实例然后再操作,并且该方法可以获取与特定时区相对应的实例,如果不指定参数,获取的就是默认的时间。
    Calendar c1 = Calendar.getInstance();
要想获取时间中具体的年月日时分秒或者其它信息,通过get方法完成,方法的参数用来指定获取什么信息,例如要获取年月日可以通过下面的代码完成。
    year = c1.get(Calendar.YEAR);
    month = c1.get(Calendar.MONTH)+1;
    date = c1.get(Calendar.DATE);
要对时间中的某一项修改使用set方法,方法的定义如下:
public void set(int field,int value)
第一个参数指定修改的项,第二个参数表示修改后的值,例如把年修改成2003年:
    c1.set(Calendar.YEAR,2003);
如果要同时修改年月日,可以使用下面的方法:
public void set(int year,int month,int date)
参数分别表示时分秒,下面是同时修改年月日的例子:
    c1.set(2003,5,5);
下面是同时修改年月日时分秒的例子
    c1.set(2003,5,5,10,30);
    //修改年月日时分
    c1.set(2003,5,5,10,30,20);
    //修改年月日时分秒
Date对象和Calendar对象之间可以相同转换,下面是相应的例子:
     d2 = c1.getTime();
    //把Calendar对象转换成Date对象
    c1.setTime(d2);
    //把日期类型转换成Calendar类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值