zoukankan      html  css  js  c++  java
  • 【java笔记】Date与String的转换

    ===============================================

     2021/4/15_第2次修改                       ccb_warlock

     

    更新说明:

    2021/4/15:

    1.细化了转换格式;

    ===============================================

    最近整理了公司的java代码,发现业务中经常使用时间转换,且写法多种多样,故针对时间转换单独做个整理。

     

    结合多个java项目看,虽然jdk 8开始引入了新的日期、时间类型LocalDate、LocalDateTime,但可能是出于ORM兼容性的考虑,几个项目中多数时间类型还是使用Date(java.util),所以这里的时间类型还是以Date举例。

     

    获取当前时间

    常见的方法是new一个对象

    Date now = new Date();

    但是jdk8开始建议使用Calendar来取时间,故下面的例子大都使用Calendar。

    Calendar cal = Calendar.getInstance();
    Date date = cal.getTime();

    Date -> String

    1)4位年-2位月-2位日(yyyy-MM-dd)

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String s = sdf.format(cal.getTime());

    控制台输出:

    2021-04-15

    2)4位年-2位月-2位日 24小时制(yyyy-MM-dd HH:mm:ss)

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String s = sdf.format(cal.getTime());

    控制台输出:

    2021-04-15 00:51:13

    3)4位年-2位月-2位日 12小时制(yyyy-MM-dd hh:mm:ss aa)

    // AM/PM(英文)
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss aa", Locale.ENGLISH");
    String s = sdf.format(cal.getTime());

    控制台输出:

    2021-04-15 00:51:13 AM

    // 上午/下午(中文)
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss aa", Locale.CHINESE");
    String s = sdf.format(cal.getTime());

    控制台输出:

    2021-04-15 00:51:13 上午

    4)4位年-2位月-2位 星期X(yyyy-MM-dd EEEE)

    // 星期X(英文全称)
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd EEEE", Locale.ENGLISH);
    String s = sdf.format(cal.getTime());

    控制台输出:

    2021-04-15 Thu

    // 星期X(英文简称)
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd E", Locale.ENGLISH);
    String s = sdf.format(cal.getTime());

    控制台输出:

    2021-04-15 Thursday

    // 星期X(中文)
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd E", Locale.CHINESE);
    String s = sdf.format(cal.getTime());

    控制台输出:

    2021-04-15 星期四

    String -> Date

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = sdf.parse("2021-4-15 00:31:05");

     

  • 相关阅读:
    linux下通过命令行把文件拷贝到U盘上
    Fuzzy finder(fzf+vim) 使用入门指南
    利器: Mac自带的图片工具Sips
    C/C++性能测试工具GNU gprof
    ubuntu 16.04安装perf
    带你了解SDL
    Android USB Headset: Device Specification
    程序猿的看迪士尼
    音频处理贤内助--libsndfile
    蓝牙协议中的SBC编解码原理和仿真
  • 原文地址:https://www.cnblogs.com/straycats/p/14562108.html
Copyright © 2011-2022 走看看