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");

     

  • 相关阅读:
    第四周学习总结
    第十三周编程总结
    2018秋季第十三周助教总结
    第十三周学习总结
    使用函数输出水仙花数 (void的用法)
    ZOJ3229 有源汇上下界最大流
    codeforces-1176 (div3)
    codeforces-1077 (div3)
    牛客假日团队赛1 题解
    牛客练习赛38 离线 启发式合并并查集
  • 原文地址:https://www.cnblogs.com/straycats/p/14562108.html
Copyright © 2011-2022 走看看