• Java 日期与时间


    1、获取当前时间

      

            Date date = new Date();
            System.out.println(date);//Sun Mar 31 11:45:14 CST 2019
            
            Calendar calendar = Calendar.getInstance();
            System.out.println(calendar);//java.util.GregorianCalendar...
            
            //import java.sql.Timestamp;
            Timestamp timestamp = new Timestamp(System.currentTimeMillis());
            System.out.println(timestamp);//2019-03-31 11:45:14.512

     

    2、日期比较

    • 使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
    • 使用方法 before(),after() 和 equals()。
    • 使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。

     

        /**
         * 
         * @param date1
         * @param date2
         * @return true-(date1早于date2)
         */
        public static boolean compareDatetime(Date date1,Date date2) {
            boolean flag = false;
    
            //1/getTime()
            long aa = date2.getTime() - date1.getTime();
            if ( aa > 0 ) {
                flag = true;
            }
            
            //2/before()/after()
            flag = date1.before(date2);
            
            //3/compareTo()
            int bb = date2.compareTo(date1);
            System.out.println(bb);
            if ( bb > 0 ) {
                flag = true;
            }
            
            return flag;
        }

    3、日期与字符串装换SimpleDateFormat

    SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD HH:mm:SS");
    Date date = new Date();
    String strDate = "";
    //日期转字符串
    strDate = sdf.format(date);
    //字符串转日期
    date = sdf.parse(strDate);

    4、printf格式化输出日期

    注意啊 不是println,是printf
    其实实际中应该不会怎么用这个,所以就不多说了
    具体参考http://www.runoob.com/java/java-date-time.html里的使用printf格式化日期

    System.out.printf("%tF" + " " + "%tT", date1,date1);//2018-12-01 15:25:22

    5、测量一段程序执行时间

    public static void main(String args[]) { 
    		try { 
    			long start = System.currentTimeMillis( ); 
    			System.out.println(new Date( ) + "
    ");
    			Thread.sleep(5*60*10); System.out.println(new Date( ) + "
    "); 
    			long end = System.currentTimeMillis( ); 
    			long diff = end - start; 
    			System.out.println("Difference is : " + diff); 
    		} catch (Exception e) { 
    			System.out.println("Got an exception!");
    		} 
    		
    	}
    

      

    6、Calendar类操作日期

    //创建一个代表2009年6月12日的Calendar对象
    Calendar c1 = Calendar.getInstance();
    //默认是当前日期
    c1.set(2009, 6 - 1, 12);
    

      

    Calendar类对象字段类型

    Calendar.YEAR 年份
    Calendar.MONTH 月份
    Calendar.DATE 日期
    Calendar.DAY_OF_MONTH 日期,和上面的字段意义完全相同
    Calendar.HOUR 12小时制的小时
    Calendar.HOUR_OF_DAY 24小时制的小时
    Calendar.MINUTE 分钟
    Calendar.SECOND
    Calendar.DAY_OF_WEEK 星期几

    add方法:

    Calendar c1 = Calendar.getInstance(); // c1 默认是当前日期
    c1.add(Calendar.DATE, 1);//明天的日期
    c1.add(Calendar.DATE, -1);//昨天的日期

    相对应的,前天的-2,大前天的-3

    月份同理,把Calendar.DATE替换成Calendar.MONTH即可

    -------------------------------------------------------------------------------------------------------------------------------------------------------------- 白云苍狗时光飞,嘻嘻哈哈一生追。哈!
  • 相关阅读:
    [Agc029D]Grid game_贪心
    [Agc029C]Lexicographic constraints_进制_二分答案_贪心
    [Agc029B]Powers of two_贪心_树形dp
    [Agc029A]Irreversible operation_逆序对
    [LuoguP1074]靶形数独_搜索
    umi react处理接口请求慢的问题
    typescript-类型
    bizcharts画图遇到的几个问题
    webpack 热更新原理
    webpack配置
  • 原文地址:https://www.cnblogs.com/sangong/p/9576531.html
Copyright © 2020-2023  润新知