DATE_FORMAT

Java时间格式转换

  • 遇到的问题:在一个实现Excel导入中需要将Excel中的获取的数据转换成Date类型的存入,由于也包括从页面添加的数据,所以要实现两个数据的格式统一。
  • 使用这个方法将数据类型进行转换

SimpleDateFormat类

  • 日期和时间格式由 日期和时间模式字符串 指定。在 日期和时间模式字符串 中,未加引号的字母 ‘A’ 到 ‘Z’ 和 ‘a’ 到 ‘z’ 被解释为模式字母,用来表示日期或时间字符串元素。
  • 例如:
    1. SimpleDateFormat中parse方法,就是上面使用到的方法,主要作用是 将字符串转换成时间,parse()方法返回的是一个Date类型的数据
    1. format方法:将时间转化为字符串,返回的是一个StringBuffer类型的数据

在数据库中的使用

    1. DATE_FORMAT()方法:主要作用是用于以不同的格式显示日期/时间数据,下图中的%Y-%m-%d是使用的特定格式
  • 可用的格式
    1. 计算日期
  • 其他计算的方法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    DateUtils.setYears(new Date(), 2019); // 根据参数设置日期年份.输出:2019-05-16 19:30:20
    DateUtils.addMonths(new Date(), -1); // 根据参数增加日期月份.输出:2019-04-16 19:30:20
    DateUtils.truncate(new Date(), Calendar.DATE); // 根据参数截取日期.输出:2019-04-16 00:00:00
    DateUtils.ceiling(new Date(), Calendar.DATE); // 根据参数向上进位日期.输出:2018-05-17 00:00:00
    DateUtils.getFragmentInDays(new Date(), Calendar.MONTH); // 根据参数截取范围内日期后返回天数.输出:16
    DateUtils.truncatedEquals(new Date(), new Date(), Calendar.DATE); //根据参数范围比较日期是否相同,该例子只比较年月日.输出:true
    DateUtils.truncatedCompareTo(new Date(), new Date(), Calendar.MONTH); //根据参数范围比较日期大小,该例子只比较年月.输出:0

    // 举例
    getFirstSecondOfMonth(); // 获取当月第一秒
    getLastSecondOfMonth(); // 获取当月最后一秒
    getDayOfYear(); // 获取日期是该年的第几天
    getFirstSundayOfMonth(); // 获取当月的第一个周日
    }

    public static void getFirstSecondOfMonth() {
    Date date = new Date();
    date = DateUtils.truncate(date, Calendar.MONTH); // 截取日期到月份
    System.out.println(date); // 输出:2018-05-01 00:00:00
    }

其他

  • 获取当前时间
    1
    Date date = new Date(); 
  • 获取当前时间戳
    1
    long timestamp = System.currentTimeMillis();
  • 日期转时间戳
    1
    2
    3
    Date date = new Date();
    String timestamp = String.valueOf(date.getTime());
    System.out.println(timestamp);
  • 时间戳转日期
    1
    2
    3
    String timestamp = "1521480110000";
    Date date = new Date(new Long(timestamp));
    System.out.println(date);
  • 日期转字符串
    1
    2
    3
    4
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = new Date();
    String dateStr = sdf.format(date);
    System.out.println(dateStr);
  • 字符串转日期
    1
    2
    3
    4
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String dateStr = "2018-05-16 19:30:20";
    Date date = sdf.parse(dateStr);
    System.out.println(date);
  • 日期转日历
    1
    2
    3
    4
    Date date = new Date();
    Calendar c = Calendar.getInstance();
    c.setTime(date);
    System.out.println(c);

DATE_FORMAT
http://example.com/2022/11/19/DATE-FORMAT/
作者
陈佳乐
发布于
2022年11月19日
许可协议