关于Java的日期和时间相关方法:获取系统当前时间/按指定格式输出时间/获得10天后的时间/计算任意两个日期之间间隔的天数

package experiment1;

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

public class Test02 {
    public static void main(String[] args) {
    	//第一种方法:使用Date类
        //获取系统当前时间
        Date nowTime=new Date();
        //toString()方法已经重写  Mon Nov 29 08:31:25 CST 2021
        System.out.println(nowTime);

        //按照指定格式进行输出
        //2021年11月29日 08时31分25秒
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        String nowTimeSdf=simpleDateFormat.format(nowTime);
        System.out.println(nowTimeSdf);

        //输出10天后当前时间
        //2021年12月09日 08时31分25秒
        //System.currentTimeMillis()返回以毫秒为单位的当前时间。
        //Java规定是从1970年1月1日到现在的毫秒时间+十天的毫秒时间
        Date time1=new Date(System.currentTimeMillis()+10*24*60*60*1000);
        String sdfTime=simpleDateFormat.format(time1);
        System.out.println(sdfTime);

        //第二种方法Calendar类
        //用Calendar 一月份是0   11月是10月 他是从0开始的
        //Calendar是抽象类无法实例化,通过getInstance()获取一个Calendar对象
        Calendar calendar=Calendar.getInstance();

		//Calendar的get()方法获取时间
		//字段Calendar.YEAR/Calendar.Month/Calendar.DATE/Calendar.HOUR/Calendar.MINUTE/Calendar.SECOND
        System.out.println("当前时间:"+calendar.get(Calendar.YEAR)+"年"+(calendar.get(Calendar.MONTH)+1)+"月"
                +calendar.get(Calendar.DATE)+"日 "+calendar.get(Calendar.HOUR)+"时"
                +calendar.get(Calendar.MINUTE)+"分"+calendar.get(Calendar.SECOND)+"秒");
		
		//10天后 直接使用add(日/月/年,增加的数量)
        calendar.add(Calendar.DATE,10);
        
        System.out.println("10天后当前时间:"+calendar.get(Calendar.YEAR)+"年"+(calendar.get(Calendar.MONTH)+1)+"月"
                +calendar.get(Calendar.DATE)+"日 "+calendar.get(Calendar.HOUR)+"时"
                +calendar.get(Calendar.MINUTE)+"分"+calendar.get(Calendar.SECOND)+"秒");
    }
}
package experiment1;

import java.util.Calendar;

//计算任意两个日期之间间隔的天数
public class Test04 {
    public static void main(String[] args) {
        //设置时间
        Calendar c1=Calendar.getInstance();
        c1.set(2001,9,12); //使用set方法设置一个时间,则c1就是2001年9月12日

        //当前时间
        Calendar c2=Calendar.getInstance();

        System.out.println("c1:"+c1.get(Calendar.YEAR)+"-"+c1.get(Calendar.MONTH)+"-"+c1.get(Calendar.DATE));
        System.out.println("c2:"+c2.get(Calendar.YEAR)+"-"+c2.get(Calendar.MONTH)+"-"+c2.get(Calendar.DATE));

		//如何计算时间差?
		//使用getTimeInMillis()方法获取从1970年1月1日到指定时间共多少毫秒,然后相减,再除以一天的毫秒数
        long day=(c2.getTimeInMillis()-c1.getTimeInMillis())/(24*60*60*1000);
        System.out.println("c1和c1相隔:"+(day+30)+"天");//要加括号啊(day+30) 加30天因为Calendar认为0是1月
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值