java中的Date(日期)和Calendar(日历)

date(日期)

java.util.Date

时间原点

Java中的时间原点,其对应的日期是1970年1月1日  。

1.创建日期对象

import java.util.Date;
public class Test3 {
	public static void main(String[] args) {
		//创建日期对象
		Date date = new Date();
		System.out.println(date);
		//获取当前时间的毫秒数 这个整数代表 从1970.1.1 08:00:00:000 开始 每经历一毫秒,增加1
		System.out.println(date.getTime());
	}
}

2.日期格式化 

SimpleDateFormat

import java.text.SimpleDateFormat;
import java.util.Date;
public class Test3 {
	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");
		System.out.println(sdf.format(new Date()));  //2019-09-16 17:08:06 208
		SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		System.out.println(sdf1.format(new Date())); //2019-09-16 17:11:07
		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
		System.out.println(sdf2.format(new Date())); //2019-09-16
		
	}
}

3.字符串转日期

package cn.it.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test3 {
	public static void main(String[] args) {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		try {
			Date date = sdf.parse("2019-09-16 17:11:07");
			System.out.println(date);//Mon Sep 16 17:11:07 GMT+08:00 2019
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}
}

4.Calendar 日历简单操作

package cn.it.test;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Test3 {
	public static void main(String[] args) {
		//获取日期相关信息
		Calendar cal = Calendar.getInstance();
		int year = cal.get(Calendar.YEAR); //获取年
		int month = cal.get(Calendar.MONTH) +1; //获取月,月是从0开始的所以要+1
		/**
		 * 获取日
		 *  DATE = DAY_OF_MONTH
		 *  在源码中这两个的值都是5
		 *  public final static int DATE = 5;
		 *  public final static int DAY_OF_MONTH = 5;
		 */
		int day = cal.get(Calendar.DATE); 
		int hour = cal.get(Calendar.HOUR);  //获取时-12小时制
		int hour1 = cal.get(Calendar.HOUR_OF_DAY); //获取时 -24小时制
		int i = cal.get(Calendar.MINUTE);  //获取当前分钟
		Date date = cal.getTime();  //获取当前日期时间  == new Date();
		
		//日期操作
		cal.setTime(date);
		cal.add(Calendar.YEAR, 1);//把日期往后增加一年.整数往后推,负数往前移动
		cal.add(Calendar.DAY_OF_MONTH, 1);//把日期往后增加一个月.整数往后推,负数往前移动
		cal.add(Calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动 
		cal.add(Calendar.WEEK_OF_MONTH, 1);//把日期往后增加一周.整数往后推,负数往前移动
	    date=cal.getTime();   //这个时间就是日期往后推一天的结果
	    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		System.out.println(sdf.format(date));
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值