日期处理(Date类 Calendar类)

Date类
注意:是java.util.Date; 而非 java.sql.Date,此类是给数据库访问的时候使用的

时间原点概念
Java中的时间原点,其对应的日期是1970年1月1日 8点0分0秒 。 (为什么是8点,因为中国的太平洋时区是UTC-8,刚好和格林威治时间差8个小时)
所有的日期,都是以为这个0点为基准,每过一毫秒,就+1。

创建日期对象
import java.util.Date;

public class TestDate {

public static void main(String[] args) {

    // 当前时间
    Date d1 = new Date();
    System.out.println("当前时间:");
    System.out.println(d1);
    System.out.println();
    // 从1970年1月1日 早上8点0分0秒 开始经历的毫秒数
    Date d2 = new Date(5000);
    System.out.println("从1970年1月1日 早上8点0分0秒 开始经历了5秒的时间");
    System.out.println(d2);

}

}

getTime
getTime() 得到当前时间的long型的整数
这个整数代表 从1970.1.1 08:00:00:000 开始 每经历一毫秒,增加1
public class TestDate {

public static void main(String[] args) {
    //注意:是java.util.Date;
    //而非 java.sql.Date,此类是给数据库访问的时候使用的
    Date now= new Date();
    //打印当前时间
    System.out.println("当前时间:"+now.toString());
    //getTime() 得到一个long型的整数
    //这个整数代表 1970.1.1 08:00:00:000,每经历一毫秒,增加1
    System.out.println("当前时间getTime()返回的值是:"+now.getTime());

    Date zero = new Date(0);
    System.out.println("用0作为构造方法,得到的日期是:"+zero);

}

}

日期格式的转换

1.简单打印出日期
如果有一个日期Date d; 可以直接使用System.out.println(d)
2打印出特定形式日期 可以使用SimpleDateFormat 这个类

import java.text.SimpleDateFormat;
import java.util.Date;

public class TestDate {

public static void main(String[] args) {

    SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS" );     
    Date d= new Date();
    String str = sdf.format(d);
    System.out.println("当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: "+str);

    SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd" );
    Date d1= new Date();
    String str1 = sdf1.format(d1);
    System.out.println("当前时间通过 yyyy-MM-dd 格式化后的输出: "+str1);

}

}

在创建SimpleDateFormat的对象时 设定其格式,用方法format 处理日期对象,返回字符串。

3字符串转换成日期
SimpleDateFormat中的 parse方法可以将字符串转换成Date对象。(SimpleDateFormat 实例化时的 日期形式一定要与处理的字符串日期形式一直,否则exception)

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestDate {

public static void main(String[] args) {
    SimpleDateFormat sdf =new SimpleDateFormat("yyyy/MM/dd HH:mm:ss" );

    String str = "2016/1/5 12:12:12";

    try {
        Date d = sdf.parse(str);
        System.out.printf("字符串 %s 通过格式  yyyy/MM/dd HH:mm:ss %n转换为日期对象: %s",str,d.toString());
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }      
}

}

Calender 类
Calendar c = Calendar.getInstance(); 获取当期日期 的日历对象
Date d = c.getTime(); 将某个日期的日历对象转化为日期对象
c.setTime(d2); 将c这个日历对象的日期调成和d2一致
C.add(int field,int amount) 在指定的月,日,年进行加减
c.set(int field ,int amount) 设定,特定的月,日,年

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值