zoukankan      html  css  js  c++  java
  • 求两个日期的间隔天数

    注明:如果想要看两日期间隔天数,则直接跳到"";前面为预备知识;


    一、需要使用的类


    (1)java.util.Date;

    (2)java.util.Calendar;

    (3)java.util.GregorianCalendar;

    (4)java.text.SimpleDateFormat;


    二、Date的用途


    Date由于基本已经过时,现在所能使用的地方有几点:

    (1)获得当前时间:Date date = new Date();

    (2)Date和Calendar转换;  (后面会讲)

    (3)SimpleDateFormat的解析;(后面会讲)


    三、Calendar和GregorianCalendar用法


    Calendar被广泛使用是因为他能够很容易的取得所需要的属性,比如年、月、日、分、秒、毫秒、星期等;

    常见用法:

    (1)GregorianCalendar calendar = new GregorianCalendar();     获得当前时间;

    (2)calendar.setTime(Date date);   //将date的时间设置到calendar中;

    (3)Date calendar.getTime();      //将calendar转成Date类型;

    (4)calendar.get(属性);    //根据名称获得属性的值;

    (5)calendar.getTimeInMillis();    //获得calendar时间的毫秒数;  (是求两日期相差天数的关键)



    四、SimpleDateFormat


    SimpleDateFormat被广泛使用是因为他能够自定义日期显示的格式;

    (1)y表示年;      yyyy表示四位的年份,比如2011

    (2)M表示月;     MM表示两位的月份,比如11

    (3)d表示天;     dd表示两位的天数 ,比如11

    常见用法:

    (1)SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");    //设置日期显示格式为yyyy-MM-dd,比如2011-01-01

    (2)Date date = sdf.parse(String str);     //将字符串解析为Date类型的日期;比如"2011-01-01"解析成2011-01-01的日期;

    (3)String str = sdf.format(Date date);    //将日期格式化为字符串;


    五、求两日期间隔天数


    技巧:通过间隔毫秒数求出间隔的天数;
    如果知道了间隔的毫秒数,则:
    (1) long sec = milli/1000;
    (2) long min = sec/60;
    (3) long hour = min./60;
    (4) long day = hour/24;

    package org.exam3;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.GregorianCalendar;
    import java.util.Scanner;
    
    public class Test {
    
    	public static void main(String[] args)throws Exception{
    		Scanner in = new Scanner(System.in);
    		in.useDelimiter("\n");
    		System.out.print("开始时间:");
    		String str1 = in.next();
    		System.out.println("\n结束时间:");
    		String str2 = in.next();
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    		Date date1 = sdf.parse(str1);
    		Date date2 = sdf.parse(str2);
    		GregorianCalendar cal1 = new GregorianCalendar();
    		GregorianCalendar cal2 = new GregorianCalendar();
    		cal1.setTime(date1);
    		cal2.setTime(date2);
    		long gap = (cal2.getTimeInMillis()-cal1.getTimeInMillis())/(1000*3600*24);//从间隔毫秒变成间隔天数
    		System.out.println("\n相差"+gap+"天");
    	}
    
    }
    


    作者:xiazdong
    出处:http://blog.xiazdong.info
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
  • 相关阅读:
    WUST Online Judge
    WUST Online Judge
    WUST Online Judge
    WUST Online Judge
    写在前面
    一丶Python简介
    七丶Python字典
    六丶Python列表操作
    五丶Python列表丶元组丶字典
    四丶Python运算符
  • 原文地址:https://www.cnblogs.com/xiazdong/p/3058129.html
Copyright © 2011-2022 走看看