• 日期操作的相关类


    1 时间处理相关类

    1.1 Date

    Date date = new Date();
    等同于
    Date data = new Date(System.currentTimeMilis);
    

    构造方法

    1.2 Calendar

    • 时间计算的抽象类
    • GregorianCalendar继承了此类

    1.3 DateFormat

    • 抽象类,SimpleDateFormat是其子类
    • 完成字符串(String)和时间对象(Date)的转化
    • format:Date转换字符串
    • parse:String转换成Date
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    		
    String string = df.format(date);// Date时间转换成字符串
    
    System.out.println(string);
    String s = "2017-12-31";
    Date date2 = df.parse(s);// String时间转换成Date
    System.out.println(date2);
    
    

    1.4 代码事例

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class Main {
        /**
         * @param args
         */
        public static void main(String[] args) throws ParseException {
            /**
             * Date有两种构造方法
             */
    
            // 1.无参构造
            //   获取的是当前的时间
            Date date = new Date();
            System.out.println("date:" + date);//date:Mon Mar 26 21:44:31 CST 2018
            // 2.传递参数,为毫秒数,历元(1970 01-01 00:00:00)
            Date date1 = new Date(11);
            System.out.println("date1:" + date1);//Thu Jan 01 08:00:00 CST 1970
            Date date2 = new Date(12);
            Date date3 = new Date(12);
            System.out.println(date2);
    
            /**
             * Date的一些常用方法
             */
    
            // 1 比较日期顺序
            System.out.println(date1.after(date2));// false
            System.out.println(date1.before(date2));// true
    
            System.out.println(date1.compareTo(date2));// -1
            // 2 比较日期是否相等
            System.out.println(date2.equals(date3));//true
            // 3 获取该日期距离1970 01-01 00:00:00的毫秒数,返回值是long
            System.out.println(date3.getTime()); // 12
            // 4 设置距离1970的毫秒数
            date3.setTime(100);
            System.out.println(date3.getTime());// 100
    
    
            /**
             * SimpleDateFormat
             */
    
            //SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。
            // 它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
    
    
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
            Date date4 = new Date();
            // 1 格式化  Date->String
            System.out.println(simpleDateFormat.format(date4));//18-3-26 下午10:30
    
            SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
            System.out.println(simpleDateFormat1.format(date4));// 2018-03-26
            // 2 格式化  String -> Date
    
            String time = "2018-03-03";
    
            System.out.println(simpleDateFormat1.parse(time));// 2018-03-03
    
    
            /**
             * Calendar:
             */
    
            Calendar calendar = Calendar.getInstance();
            // 1 获取当前的时间 等同new Date()
            System.out.println("获取当前的时间:" + calendar.getTime());//Mon Mar 26 22:45:00 CST 2018
            // 2 获取当前的年
            System.out.println("今年是:" + calendar.get(Calendar.YEAR));//2018
    
            // 3 获取当前月份
    
            System.out.println("这个月是:" + calendar.get(Calendar.MONTH));// 2 注意点 月份会少一个月
    
            // 4 获取这个月的号数
            System.out.println("今天是几号:" + calendar.get(Calendar.DATE));// 26
            // 5 获取现在的小时
            System.out.println("现在是几点:" + calendar.get(Calendar.HOUR)); // 10
            // 6 获取现在的分钟
            System.out.println("现在是多少分钟:"+calendar.get(Calendar.MINUTE));
            // 7 获取现在是多少秒
            System.out.println("获取现在是多少秒:"+calendar.get(Calendar.SECOND));// 7
            // 8 今天是今年的多少周
            System.out.println("今天是今年的多少周:"+calendar.get(Calendar.WEEK_OF_YEAR)); // 13
            // 9 今天是这个月的多少周
            System.out.println("今天是这个月的多少周:"+calendar.get(Calendar.WEEK_OF_MONTH)); // 5
            // 10 今天是这个星期的第几天
            System.out.println("今天是这个星期的第几天:"+calendar.get(Calendar.DAY_OF_WEEK));// 3 注意点 星期是从周日开始的
            // 11 今天是这个月的第多少天
            System.out.println("今天是这个月的第多少天:"+calendar.get(Calendar.DAY_OF_MONTH));// 27
        }
    }
    
    

    2 获取前N天或者后N天的时间

    
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(calendar.getTime());
        calendar.add(Calendar.DAY_OF_MONTH,-30);
        System.out.println(calendar.getTime()); // Sun Mar 25 22:55:21 CST 2018
        System.out.println(simpleDateFormat1.format(calendar.getTime()));
    
    
    一个小小的程序员
  • 相关阅读:
    Fluent 18.0新功能之:其他
    【小白的CFD之旅】小结及预告
    【小白的CFD之旅】19 来自计算网格的困惑
    【小白的CFD之旅】18 控制方程基础
    【小白的CFD之旅】23 串行与并行
    【小白的CFD之旅】22 好网格与坏网格
    JS ES6的变量的结构赋值
    JS中some()和every()和join()和concat()和pop(),push(),shift(),unshfit()和map()和filter()
    JS(原生js和jq方式)获取元素属性(自定义属性),删除属性(自定义属性)
    javascript中this的指向问题
  • 原文地址:https://www.cnblogs.com/zhaod/p/8325930.html
Copyright © 2020-2023  润新知