zoukankan      html  css  js  c++  java
  • java===Date,DateFormat,SimpleDateFormat,Calendar类

    package 常用类.Date;
    
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    /**月份从0-11的整数表示,0是一月,11是12月
     * 日期对象--》毫秒值  getTime方法:
     * 原因:可以通过毫秒值来进行日期运算
     * 毫秒值--》日期对象 setTime方法或者构造方法new Date(毫秒值);
     * 原因:可以对年月日等字段的操作
     * Date实现了comparable接口
     * 格式化:简单说把物体进行重新划分,改变物体内部空间结构
     * abstract DateFormat :日期格式类
     * 工厂:生产对象的地方*/
    public class dateDemo {
    
        public static void main(String[] args) throws ParseException {
            //demo_1();
            demo_2();
            demo_3();
            test_1();
    
        }
        public static void test_1() throws ParseException {
            String str_day_1="2016-5-1";
            String str_day_2="2017-4-23";
            DateFormat dateFormat = DateFormat.getDateInstance();
            Date date1=dateFormat.parse(str_day_1);
            Date date2=dateFormat.parse(str_day_2);
            Long l1=date1.getTime();
            Long l2=date2.getTime();
            //日期相减一定要确保结果是正数
            System.out.println(Math.abs((l1-l2))/1000/60/60/24+"天");
        }
        /**将日期格式的字符串---》日期对象
         * @throws ParseException */
        public static void demo_3() throws ParseException {
            String str_day="2017-4-23";
            String str_day_1="2017---5-1";
            DateFormat dateFormat = DateFormat.getDateInstance();
            DateFormat d1 = new SimpleDateFormat("yyyy---MM-dd");
            Date date1=dateFormat.parse(str_day);
            System.out.println(date1);
            Date date2=d1.parse(str_day_1);
            System.out.println(date2);
            
        }
        /**将日期对象---》日期格式字符串 ;对日期对象进行格式化   使用DateFormate类中的format方法*/
        public static void demo_2() {
            Date date =  new Date();
            //获取日期格式对象的方法,具备着默认风格。
            //DateFormat dateFormat = DateFormat.getDateInstance();
            DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL);
            dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
            String str_day = dateFormat.format(date);
            System.out.println(str_day);
            //自定义风格日期 是由SimpleDateFormat类完成的
            dateFormat= new SimpleDateFormat("yyyy--MM--dd");
            String str_day_1=dateFormat.format(date);
            System.out.println(str_day_1);
        }
    
        private static void demo_1() {
            Long time = System.currentTimeMillis();
            System.out.println(time);
            Date date1 = new Date();
            System.out.println(date1);
            Date date2 = new Date(1492942746472L);//long型
            System.out.println(date2);
        }
    
    }
    package 常用类.Calendar;
    
    import java.util.Calendar;
    import java.util.Date;
    
    
    /**
     * abstract Calendar日历 类中提供返回对象的方法 getInstance();
     */
    public class CalendarDemo {
    
        public static void main(String[] args) {
            Calendar c = Calendar.getInstance();
            // 设置时间
            //c.set(Calendar.YEAR, 2019);
            //c.set(2017, 3, 23);
            // 时间偏移
            //c.add(Calendar.DAY_OF_MONTH, 9);
            //c.add(Calendar.YEAR, -5);
            //打印当前时间
            demo_1(c);
            //计算每年2月有多少天
            int year=2017;
            int day=demo_2(c,year);
            System.out.println(year+"年二月有"+day+"天");
            //获取昨天的这个时间
            //demo_3(c);
    //        Date date = c.getTime();
    //        System.out.println(date);
    
        }
    
        public static void demo_3(Calendar c) {
            //c.get(Calendar.DAY_OF_MONTH);
            c.add(Calendar.DAY_OF_MONTH, -1);
            demo_1(c);
        }
    
        private static int demo_2(Calendar c,int year) {
            
            c.set(year, 2, 1, 0, 0, 0);
            c.add(Calendar.DAY_OF_MONTH,-1);
            int day =c.get(Calendar.DAY_OF_MONTH);
            return day;
            
        }
    
        public static void demo_1(Calendar c) {
            
            // 获取当前时间
            int year = c.get(Calendar.YEAR);
            int day = c.get(Calendar.DAY_OF_MONTH);
            int month = c.get(Calendar.MONTH) + 1;// 月份从0开始计数所以要加1
            int week = c.get(Calendar.DAY_OF_WEEK);
            int hour=c.get(Calendar.HOUR_OF_DAY);
            System.out.println(year + "年" + month + "月" + day + "日"+hour+"点"+ getWeek(week));
        }
    /**输出日期一定要注意1代表周日 7代表周六 为了观看方便可以通过下面这个方法实现字符串输出对应星期*/
        private static String getWeek(int week) {
            String[] arr = { "", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
    
            return arr[week];
        }
    
    }
  • 相关阅读:
    DVWA 黑客攻防演练(十)反射型 XSS 攻击 Reflected Cross Site Scripting
    DVWA 黑客攻防演练(九) SQL 盲注 SQL Injection (Blind)
    DVWA 黑客攻防演练(八)SQL 注入 SQL Injection
    DVWA 黑客攻防演练(七)Weak Session IDs
    DVWA 黑客攻防演练(六)不安全的验证码 Insecure CAPTCHA
    DVWA 黑客攻防演练(五)文件上传漏洞 File Upload
    工作流表结构设计
    Visual Studio 2019尝鲜----新建空项目体验
    《使用CSLA 2019:CSLA .NET概述》原版和机译文档下载
    .NET快速开发平台的在线预览
  • 原文地址:https://www.cnblogs.com/wangyinxu/p/6753961.html
Copyright © 2011-2022 走看看