JAVA学习第七天:日期

一、Date

需要import java.util.Date

package date;
import java.util.Date;
public class TestDate {
	public static void main(String[] args){
		Date d1 = new Date();//当前时间
		System.out.println(d1);
		//从1970年1月1日 早上8点0分0秒 开始经历了5秒(5000ms)的时间
		Date d2 = new Date(5000);
		System.out.println(d2);
	}
}

结果:

Mon Mar 25 22:16:09 CST 2019
Thu Jan 01 08:00:05 CST 1970
getTime()
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);
        //这个整数代表在1970.1.1 08:00:00:000,的基础上,每经历一毫秒,增加1
        System.out.println("System.currentTimeMillis() \t返回值: "+System.currentTimeMillis());

结果:

当前时间:Mon Mar 25 22:21:30 CST 2019
当前时间getTime()返回的值是:1553523690361
用0作为构造方法,得到的日期是:Thu Jan 01 08:00:00 CST 1970
System.currentTimeMillis() 	返回值: 1553523836025

二、Date格式化

日期转字符串——SimpleDateFormat
package date;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestDate {
	public static void main(String[] args){
		//y 代表年
        //M 代表月
        //d 代表日
        //H 代表24进制的小时
        //h 代表12进制的小时
        //m 代表分钟
        //s 代表秒
        //S 代表毫秒
        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);
          
	}
}

结果:

当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: 2019-03-25 22:36:13 928
当前时间通过 yyyy-MM-dd 格式化后的输出: 2019-03-25
字符串转日期——Parse
package date;
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 = "2019/3/25 22: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();
        }          
	}
}

结果:

字符串 2019/3/25 22:12:12 通过格式  yyyy/MM/dd HH:mm:ss 
转换为日期对象: Mon Mar 25 22:12:12 CST 2019

三、Calendar

package date;

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

public class TestDate {
	 
    private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();
        Date now = c.getTime();
        // 当前日期
        System.out.println("当前日期:\t" + format(c.getTime()));
 
        // 下个月的今天
        c.setTime(now);
        c.add(Calendar.MONTH, 1);
        System.out.println("下个月的今天:\t" +format(c.getTime()));
 
        // 去年的今天
        c.setTime(now);
        c.add(Calendar.YEAR, -1);
        System.out.println("去年的今天:\t" +format(c.getTime()));
 
        // 上个月的第三天
        c.setTime(now);
        c.add(Calendar.MONTH, -1);
        c.set(Calendar.DATE, 3);
        System.out.println("上个月的第三天:\t" +format(c.getTime()));
 
    }
 
    private static String format(Date time) {
        return sdf.format(time);
    }
}

结果:

当前日期:	2019-03-25 23:00:47
下个月的今天:	2019-04-25 23:00:47
去年的今天:	2018-03-25 23:00:47
上个月的第三天:	2019-02-03 23:00:47

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值