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];
        }
    
    }
  • 相关阅读:
    HTML5的智能提示在VisualStudio2010
    浏览器的缓存机制
    等待资源(wait_resource)解码(完整版)
    对quartz的总结
    利用Spring动态对Quartz定时任务管理
    Tomcat源码分析(一)服务启动
    深入分析 Java 中的中文编码问题
    企业搜索引擎开发之连接器connector(一)
    SpringQuartz (一)
    Quartz 项目应用笔记
  • 原文地址:https://www.cnblogs.com/wangyinxu/p/6753961.html
Copyright © 2011-2022 走看看