zoukankan      html  css  js  c++  java
  • Date和Calendar时间操作常用方法及示例

    (日历取值)Date和Calendar时间操作常用方法及示例

    /**
     * Date和Calendar常用方法,Date很多方法已经弃用,因此以Calendar为主
     * 
     * @author tuzongxun123
     *
     */
    public class DateAndCalendarTest {


    public static void main(String[] args) {
    // 直接用Date获取当前系统时间,结果:Tue May 03 08:25:44 CST 2016
    Date date = new Date();


    // Date中的许多方法,例如获取某年、某月、某日等,以及设置某年、某月、某日等都不再建议使用,
    // 建议使用calendar的各种方法替代,因此便不做记录
    // 获取指定日期的毫秒数,常用来比较两个日期的大小。
    date.getTime();


    // 使用Calendar获取当前系统时间,需要获取Calendar对象后转换成Date输出
    Calendar calendar = Calendar.getInstance();


    // 这个方法相当于Date中的getTime,获取当前时间的毫秒数
    calendar.getTimeInMillis();


    // 获取指定日期所在周的第一天的日期,默认的一周的第一天是周日
    calendar.getFirstDayOfWeek();


    // 返回当前calendar日期所在的年,如2016
    calendar.get(1);


    // Calendar转Date,输出结果:Tue May 03 09:31:59 CST 2016
    Date date2 = calendar.getTime();
    System.out.println(date2);


    // Calendar设置年、月、日,输出结果:Mon Jun 03 09:31:59 CST 2013
    // 相关常用重载方法:calendar.set(year, month, date, hourOfDay, minute);
    // calendar.set(year, month, date, hourOfDay, minute, second);参数均为int
    calendar.set(2013, 5, 3);
    System.out.println(calendar.getTime());


    // 使用Calendar设置年,输出结果:Fri Jun 03 09:42:43 CST 2011
    calendar.set(Calendar.YEAR, 2011);
    System.out.println(calendar.getTime());


    // 使用Calendar和数字设置月,注意月份从0开始,代表1月,输出结果:Mon Jan 03 09:45:32 CST 2011
    calendar.set(Calendar.MONTH, 0);
    System.out.println(calendar.getTime());


    // 使用Calendar和自带常量设置月,注意月份从0开始,代表1月,输出结果:Thu Feb 03 09:47:07 CST 2011
    calendar.set(Calendar.MONTH, Calendar.FEBRUARY);
    System.out.println(calendar.getTime());


    // 使用Calendar和数字设置日,输出结果:Sat Feb 05 09:48:25 CST 2011
    // calendar.set(Calendar.DAY_OF_MONTH, 5)结果一样;
    calendar.set(Calendar.DATE, 5);
    System.out.println(calendar.getTime());


    // 设置小时
    calendar.set(Calendar.HOUR, 15);
    System.out.println(calendar.getTime());


    // 根据毫秒数设置Calendar时间
    calendar.setTimeInMillis(0);


    // Date转String,输出结果:2016-05-03 09:25:29
    String forDate = dateToString(new Date());
    System.out.println(forDate);


    // String转Date,输出结果:Thu Nov 12 13:23:11 CST 2015
    Date strDate = stringToDate("2015-11-12 13:23:11");
    System.out.println(strDate);


    // Date转Calendar,输出结果:2015
    Calendar calendar2 = dateToCalendar(strDate);
    System.out.println(calendar2.get(1));


    }


    /**
    * 把指定的date类型时间转换为指定格式的字符串

    * @author:tuzongxun
    * @Title: dateToString
    * @param @param date
    * @return void
    * @date May 3, 2016 9:09:25 AM
    * @throws
    */
    static String dateToString(Date date) {
    String str = "yyyy-MM-dd hh:mm:ss";
    SimpleDateFormat format = new SimpleDateFormat(str);
    String dateFormat = format.format(date);
    return dateFormat;
    }


    /**
    * 把指定的日期格式的字符串转换成Date类型

    * @author:tuzongxun
    * @Title: StringToDate
    * @param @param string
    * @return void
    * @date May 3, 2016 9:16:38 AM
    * @throws
    */
    static Date stringToDate(String string) {
    String str = "yyyy-MM-dd hh:mm:ss";
    SimpleDateFormat format = new SimpleDateFormat(str);
    Date date = new Date();
    try {
    date = format.parse(string);
    } catch (Exception e) {
    e.getStackTrace();
    }
    return date;
    }


    /**
    * 把指定的date类型日期转换成Calendar类型

    * @author:tuzongxun
    * @Title: dateToCalendar
    * @param @param date
    * @return void
    * @date May 3, 2016 9:13:49 AM
    * @throws
    */
    static Calendar dateToCalendar(Date date) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    return calendar;
    }
    }

  • 相关阅读:
    centos8 将SSSD配置为使用LDAP并要求TLS身份验证
    Centos8 搭建 kafka2.8 .net5 简单使用kafka
    .net core 3.1 ActionFilter 拦截器 偶然 OnActionExecuting 中HttpContext.Session.Id 为空字符串 的问题
    Springboot根据不同环境加载对应的配置
    VMware Workstation12 安装 Centos8.3
    .net core json配置文件小结
    springboot mybatisplus createtime和updatetime自动填充
    .net core autofac依赖注入简洁版
    .Net Core 使用 redis 存储 session
    .Net Core 接入 RocketMQ
  • 原文地址:https://www.cnblogs.com/Darkqueen/p/9288676.html
Copyright © 2011-2022 走看看