zoukankan      html  css  js  c++  java
  • java日期时间处理集合

    本文主要介绍java中日期时间的处理,包括获取时间,时间相加减,格式化等操作。

    持续更新中...

    时间格式化

    //时间格式化
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    获取当前时间

    //获取当前时间
    Date currentTime = new Date();
    System.out.println(String.format("系统当前时间:%s",dateFormat.format(currentTime)));
    
    //输出
    2019-04-11 11:07:57

     时间字符串转日期类型

    //时间字符串转日期类型,以下时间加减均以此时间为基础
    String strTime = "2019-04-10 18:18:78";
    Date fixedTime;
    try{
        //特定时间字符串转为日期类型,需要处理ParseException异常
        //注意,时间字符串格式要与dateFormat定义的一致,否则引发异常
        fixedTime = dateFormat.parse(strTime);
    }
    catch (ParseException ex){
        fixedTime = new Date();
        ex.printStackTrace();
    }
    System.out.println(String.format("字符转换时间:%s,以下时间加减均以此时间为基础",dateFormat.format(fixedTime)));
    
    //输出
    字符转换时间:2019-04-10 18:19:18,以下时间加减均以此时间为基础

     使用Calendar来实现日期加减1小时,1天,1个月和1年

    //使用Calendar来实现加减1小时,1天,1个月和1年
    Calendar calendar = Calendar.getInstance();
    //指定时间减1小时
    calendar.setTime(fixedTime);
    calendar.add(Calendar.HOUR_OF_DAY, -1);
    System.out.println(String.format("1小时之前的时间:%s", dateFormat.format(calendar.getTime())));
    //指定时间加1小时
    calendar.setTime(fixedTime);
    calendar.add(Calendar.HOUR_OF_DAY, 1);
    System.out.println(String.format("1小时之后的时间:%s", dateFormat.format(calendar.getTime())));
    //指定时间减1天
    calendar.setTime(fixedTime);
    calendar.add(Calendar.DAY_OF_YEAR, -1);
    System.out.println(String.format("1天之前的时间:%s", dateFormat.format(calendar.getTime())));
    //指定时间加1天
    calendar.setTime(fixedTime);
    calendar.add(Calendar.DAY_OF_YEAR, 1);
    System.out.println(String.format("1天之后的时间:%s", dateFormat.format(calendar.getTime())));
    //指定时间减1个月
    calendar.setTime(fixedTime);
    calendar.add(Calendar.MONTH, -1);
    System.out.println(String.format("1个月之前的时间:%s", dateFormat.format(calendar.getTime())));
    //指定时间加1个月
    calendar.setTime(fixedTime);
    calendar.add(Calendar.MONTH, 1);
    System.out.println(String.format("1个月之后的时间:%s", dateFormat.format(calendar.getTime())));
    //指定时间减1年
    calendar.setTime(fixedTime);
    calendar.add(Calendar.YEAR, -1);
    System.out.println(String.format("1年之前的时间:%s", dateFormat.format(calendar.getTime())));
    //指定时间加1年
    calendar.setTime(fixedTime);
    calendar.add(Calendar.YEAR, 1);
    System.out.println(String.format("1年之后的时间:%s", dateFormat.format(calendar.getTime())));
    
    //输出
    10分钟之前的时间:2019-04-10 18:09:18
    10分钟之后的时间:2019-04-10 18:29:18
    1小时之前的时间:2019-04-10 17:19:18
    1小时之后的时间:2019-04-10 19:19:18
    1天之前的时间:2019-04-09 18:19:18
    1天之后的时间:2019-04-11 18:19:18
    1个月之前的时间:2019-03-10 18:19:18
    1个月之后的时间:2019-05-10 18:19:18
    1年之前的时间:2018-04-10 18:19:18
    1年之后的时间:2020-04-10 18:19:18

    注意:Calendar.HOUR_OF_DAY是24小时制,Calendar.HOUR是12小时制。

  • 相关阅读:
    4-8 求二叉树高度 (20分)
    汉诺塔的递归和非递归实现
    5-18 银行业务队列简单模拟 (25分)
    ACM 刷题小技巧【转】
    5-21 求前缀表达式的值(25分)
    5-20 表达式转换 (25分)
    约瑟夫环----循环链表问题
    关于埃拉托色尼筛选法的整理(质数问题)
    编码---隐藏在计算机软硬件背后的语言
    内排序和外排序扫盲
  • 原文地址:https://www.cnblogs.com/codecat/p/10685380.html
Copyright © 2011-2022 走看看