zoukankan      html  css  js  c++  java
  • java 之日期时间操作

    package com.gongxy.demo;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    /**
     * Date 时间类
     * Calendar 时间操作类
     * SimpleDateFormat 时间格式化类
     */
    public class DateTest {
        public static void main(String[] args) {
            simpleDateFormat();
        }
    
        /**
         * compareTo[比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。]
         * equals[当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。]
         * toString[把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。]
         */
        static void dateTest(){
            Date d = new Date();
            System.out.println(d);//国际时间格式 [Tue Aug 11 22:31:14 CST 2020]
    
            Date d1 = new Date(1000);
            int result = d.compareTo(d1);
            System.out.println(result);//[1]
            boolean bResult = d.equals(d1);
            System.out.println(bResult);//false
    
            Date dNow = new Date();
            result = d.compareTo(dNow);
            System.out.println(result);//生成时间的误差,会导致dNow晚于d一点时间[-1]
            bResult = d.equals(dNow);
            System.out.println(bResult);//false
    
            Date d2 = d;
            result = d.compareTo(d2);
            System.out.println(result);//[0]
            bResult = d.equals(d2);
            System.out.println(bResult);//true
    
            int hashCode = d.hashCode();
            System.out.println(hashCode);//-570822014
    
            System.out.println(d.toString());//[Tue Aug 11 22:45:18 CST 2020]
        }
    
        /**
         * Calendar
         * getTime() 当前时间
         * get() 取
         * set() 设置
         * add() 运算
         */
        static void calendarTest(){
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
            Calendar cal = Calendar.getInstance();
            //cal.getTime() Date[返回当前时间]
            System.out.println(sdf.format(cal.getTime()));//2020-08-12 23:38:26
    
            //取值
            int r1 = cal.get(Calendar.YEAR);//2020 [年]
            r1 = cal.get(Calendar.MONTH);//7 [获取的月份需要+1 (0,1,2,3,4,5,6,7,8,9,10,11)]
            r1 = cal.get(Calendar.DATE);//12 [日]
            r1 = cal.get(Calendar.HOUR);//11 [时(12小时制)]
            r1 = cal.get(Calendar.HOUR_OF_DAY);//23 [时(24小时制)]
            r1 = cal.get(Calendar.MINUTE);//18 [分]
            r1 = cal.get(Calendar.SECOND);//20 [秒]
            r1 = cal.get(Calendar.DAY_OF_WEEK);//4 [1周日 2周一 3周二 4周三 5周四 6周五 7周六]
    
            //设置值
            cal.set(2019, 6, 19, 14, 23, 59);
            System.out.println(sdf.format(cal.getTime()));//2019-07-19 14:23:59
    
            cal.set(Calendar.YEAR, 2018);//2018年
            cal.set(Calendar.MONTH, 0);//0 [一月]
            cal.set(Calendar.DATE, 1);//1号
            cal.set(Calendar.HOUR_OF_DAY, 14);//14时
            cal.set(Calendar.MINUTE, 12);//12分
            cal.set(Calendar.SECOND, 12);//12秒
            System.out.println(sdf.format(cal.getTime()));//2018-01-01 14:12:12
    
            //运算值
            cal.add(Calendar.YEAR, -1);
            cal.add(Calendar.MONTH, -1);
            cal.add(Calendar.DATE, 1);
            cal.add(Calendar.HOUR_OF_DAY, 1);
            cal.add(Calendar.MINUTE, 10);
            cal.add(Calendar.SECOND, 10);
            System.out.println(sdf.format(cal.getTime()));//2016-12-02 15:22:22
        }
    
        /**
         *   SimpleDateFormat函数语法:
         *   G 年代标志符
         *   y 年
         *   M 月
         *   d 日
         *   h 时 在上午或下午 (1~12)
         *   H 时 在一天中 (0~23)
         *   m 分
         *   s 秒
         *   S 毫秒
         *   E 星期
         *   D 一年中的第几天
         *   F 一月中第几个星期几
         *   w 一年中第几个星期
         *   W 一月中第几个星期
         *   a 上午 / 下午 标记符
         *   k 时 在一天中 (1~24)
         *   K 时 在上午或下午 (0~11)
         *   z 时区
         */
        static void simpleDateFormat(){
            //String strDateFormat = "yyyy-MM-dd HH:mm:ss E";
            String strDateFormat = "yyyy-MM-dd HH:mm:ss";
            SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
            Date d = new Date();
            System.out.println(sdf.format(d));//2020-08-12 23:51:57 星期三
    
            String studyD = "2020-08-14 22:55:23";
            try {
                Date dStudy = sdf.parse(studyD);
                System.out.println(dStudy);//Fri Aug 14 22:55:23 CST 2020
            } catch (ParseException e) {
                e.printStackTrace();
            }
        }
    }
    

      

  • 相关阅读:
    poj 1511Invitation Cards
    hust 1608Dating With Girls
    sdibt 2128Problem A:Convolution Codes
    hdu 1325Is It A Tree?
    poj 2240Arbitrage
    hdu 2818Building Block
    poj 1789Truck History
    poj 1125Stockbroker Grapevine
    展望未来
    告别过去
  • 原文地址:https://www.cnblogs.com/gygtech/p/13493874.html
Copyright © 2011-2022 走看看