Java02-Date类

1.毫秒的概念

1:1000毫秒=1秒
2:毫秒的0点(时间原点) -> 公元1970年1月1日 00:00:00
3:获取毫秒值 -> System.currentTimeMillis();当前时间减去时间原点

2.Date的构造器

public static void run(){
    Date date = new Date();
    System.out.println(date);
}
//Fri May 24 07:36:06 CST 2019 
//new Date();获取当前系统的时间
//utc -> 时区;cst -> 中国标准时间
public static void run1(){
    Date d = new Date(0);
    System.out.println(d);
}
//Thu Jan 01 08:00:00 CST 1970
//new Date(long l);将传递的毫秒值,转化为距离时间原点处的时间
public static void run2(){
    Date d = new Date();
    long l = d.getTime();
    System.out.println(l);
}
//1558655017407
//getTime();将Date表示的时间转化为毫秒值
setTiem(long l);功能与new Date(long l);一样都是将毫秒值转化为对应的时间
Date d = new Date(longValue);和下面的两行代码效果一样
Date date = new Date();
date.setTime(longValue);

3.日期模式

字符含义
y(yyyy)年(年份)
M(MM)年中的月份(月份)
d(dd)月中的天数(天数)
H(HH)0-23小时
m(mm)小时中的分钟
s(ss)

3.DateFormat和SimpleDateFormat

public static void run3(){
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
    String format = sdf.format(new Date());
    System.out.println(format);
}
//2019-05-24 08-04-03
//String format(Date d);日期转为字符串
public static void run4() throws Exception {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
    Date date = sdf.parse("2019-05-24 08-04-03");
    System.out.println(date);
}
//Fri May 24 08:04:03 CST 2019
//Date parse(String str);字符串转日期

4.Calender

public static void run5(){
    //抽象类返回子类 GregorianCalendar
    Calendar c = Calendar.getInstance();
    System.out.println(c);
    /*
java.util.GregorianCalendar[time=1558657284584,
areFieldsSet=true,areAllFieldsSet=true,lenient=true,
zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",
offset=28800000,dstSavings=0,useDaylight=false,transitions=19,
lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,
YEAR=2019,MONTH=4,WEEK_OF_YEAR=21,
WEEK_OF_MONTH=4,DAY_OF_MONTH=24,DAY_OF_YEAR=144,DAY_OF_WEEK=6,
DAY_OF_WEEK_IN_MONTH=4,AM_PM=0,HOUR=8,HOUR_OF_DAY=8,
MINUTE=21,SECOND=24,MILLISECOND=584,ZONE_OFFSET=28800000,DST_OFFSET=0]
         */
}
public static void run6(){
    Calendar c = Calendar.getInstance();
    int year= c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH) + 1;//0-11
    int day = c.get(Calendar.DAY_OF_MONTH);
    System.out.println(year+"-"+month+"-"+day);
}
//2019-4-24
//月 0-11;周几 0-6
//int get(int i);每一个静态字段都有它所对应的具体值
//YEAR 1;MONTH 2;DAY_OF_MONTH 5;
public static void run7(){
        Calendar c = Calendar.getInstance();
        c.set(Calendar.MONTH,2);//0-11,需要3月,设置2
        int year= c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH) + 1;
        int day = c.get(Calendar.DAY_OF_MONTH);
        System.out.println(year+"-"+month+"-"+day);
}
//2019-3-24
//set(int field,int value);
//set(int year,int month,int day);
add(int field,int value);//进行年月日的加减计算
Date getTime();//将Calendar对象转化为Date对象

5.练习

/**
 * 计算1998.1.11到现在多少天
 */
public static void run8(){
    Calendar start = Calendar.getInstance();
    start.set(1998,0,11);

    Calendar end = Calendar.getInstance();

    Date d1 = start.getTime();
    Date d2 = end.getTime();
    System.out.println((d2.getTime() - d1.getTime())/1000/60/60/24);
}
//7803
/**
 * 判断是否是闰年
 * 利用Calendar类将日期指定到 该年的3月1日
 * 然后利用add()方法,将日期减一,判断DAY_OF_MONTH==29?true:false;
 * @param year
 */
public static void run9(int year){
    Calendar calendar = Calendar.getInstance();
    calendar.set(year,2,1);
    calendar.add(Calendar.DAY_OF_MONTH,-1);

    int day = calendar.get(Calendar.DAY_OF_MONTH);
    if (day == 28){
        System.out.println(false);
    }else if (day == 29){
        System.out.println(true);
    }
}
//true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值