Java 日期格式(yyyy-MM-dd HH:mm:ss SSS)

这篇具有很好参考价值的文章主要介绍了Java 日期格式(yyyy-MM-dd HH:mm:ss SSS)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

常用格式为:yyyy-MM-dd HH:mm:ss

以 2019-12-31 06:07:59:666 时间为例:

字符

含义

Example

y(小写的y)

yyyy---->2019

M(大写的M)

  MM---->12

d(小写的d)

一月中的天数

  dd---->31

H(24 小时制,大写的H)

小时(0-23)

  HH---->18

h(12 小时制,小写的h)

小时(1-12)

  hh---->06

m(小写的m)

  mm---->07

s(小写的s)

  ss---->59

S(大写的S)

毫秒

 SSS---->666

Y(大写的y)

Week Year

YYYY---->2020

D(大写的D)

一年中天数

  DD---->365

yyyy-MM-dd与YYYY-MM-dd区别在哪里?

Y 代表 Week Year,表示当天周所在的年份。这种方式将会把一年划分成52 周/53周(类似于闰年的概念,每隔几年将会增加一周)。Week Year下每周仅属于某一年,如果某年的第一周或最后一周跨年,就会导致部分日期年份与实际不符。

Week Year 存在两种标准:

ISO 8601:国际标准,每周从周一开始,每年的第一周至少包含 4 天

Common:通用标准,每周从周日开始,每年的第一周至少包含 1 天

使用 ISO 8601 标准,分别看一下最后一周跨年以及第一周跨年的例子。

2015 年最后一周跨年,2016 前三天(与2015年12月的前四天默认是一周,是2015的周)使用 YYYY 最后结果为 2015,时间看起来被回退了。

2020 年第一周跨年,2019 年最后两天(不足4天,所以默认为下周,下周为2020年的周)使用 YYYY 结果为 2020。

java yyyy-mm-dd,JAVA知识点杂烩,java,开发语言

    

java yyyy-mm-dd,JAVA知识点杂烩,java,开发语言

代码验证

import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo {
    public static void main(String[] args) {
        // 将指定时间转换成时间戳,再由时间戳转换成时间
        String Stime = "2015-01-01 17:17:22"; // 处理前的时间
        long Ltime = 0; // 时间戳

        System.out.println("处理前的时间:" + Stime);

        // 时间转为时间戳
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            Date date2 = simpleDateFormat.parse(Stime);
            Ltime = date2.getTime();
            System.out.println("时间转时间戳结果:" + Ltime);
        } catch (ParseException | java.text.ParseException e) {
            e.printStackTrace();
        }

        //将时间戳转换为时间
        String res = simpleDateFormat.format(Ltime);
        System.out.println("时间戳转时间结果:" + res);
    }
}

运行结果:

处理前的时间:2015-01-01 17:17:22

时间转时间戳结果:1420103842000

时间戳转时间结果:2015-01-01 17:17:22

可以看出两次时间是一样的。

将代码中的yyyy改为YYYY后

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

运行结果:

处理前的时间:2015-01-01 17:17:22

时间转时间戳结果:1419758242000

时间戳转时间结果:2015-12-28 17:17:22

可以看出两次时间不是一样的。

oracle和java的日期格式的差异

java中的的日期格式为:

yyyy-MM-dd HH:mm:ss:代表将时间转换为24小时制,例: 2020-01-07 13:21:55

yyyy-MM-dd hh:mm:ss:代表将时间转换为12小时制,例: 2020-01-07  03:24:21

oracle中的日期格式为(不区分大小写):

yyyy-MM-dd HH24:mi:ss:代表oracle中的24小时制,例:2020/1/7 13:21:55

yyyy-MM-dd HH:mi:ss:  代表oracle中的12小时制,例:2020/1/7 9:21:55

之所以 oracle和java不同,是因为我们知道oracle是不区分大小写的,所以java中根据大小写来代表24小时和12小时的表达式在oracle中就会出问题,oracle中将24小时的时和分做了特殊处理.如上所示,在hh后面加上了24,将mm改为了mi.

大部分内容转载自: 关于日期格式你必须知道的坑( yyyy-MM-dd HH:mm:ss SSS)_yyyy-mm-dd hh:mm:ss.sss_37358143的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-744181.html

到了这里,关于Java 日期格式(yyyy-MM-dd HH:mm:ss SSS)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ES 中时间日期类型 “yyyy-MM-dd HH:mm:ss” 的完全避坑指南

    时间和日期类型是我们作为开发每天都会遇到的一种常见数据类型。和 Java 中有所不同, Elasticsearch 在索引创建之前并不是必须要创建索引的mapping。关系型数据库的思维就是在中写入数据之前,并不强制创建表结构。我们不用事先声明字段名称,字段类型以及长度等属性就可

    2024年01月23日
    浏览(47)
  • 踩坑:小程序 new Date(“YYYY-MM-DD hh:mm:ss”)在ios手机上显示null

    一、发现问题: 苹果手机上进入小程序,点击picker组件选择时间日期(YYYY-MM-DD hh:mm:ss),用new Date(“YYYY-MM-DD hh:mm:ss”)转化时间格式进行比较时,变量转化后的结果为null 二、解决方案: 三、分析并查找原因: 1.在IOS中,new Date中指定的字符串还有格式,new Date(“YYYY/MM/DD hh:

    2024年02月12日
    浏览(36)
  • 直接在SQL中对日期格式进行转换yyyy/MM/dd到yyyy-MM-dd【DATE_FORMAT()】

    可以直接在SQL中转换日期的格式会使用到DATE_FORMAT()使用函数 DATE_FORMAT()函数中需要输入两个参数:原本的日期和你期待的模式字符串 例如:我们要将2022/05/09的字符串转换成2022-05-09的格式,就可以用以下两种方式 ①:SELECT DATE_FORMAT(\\\'2022/05/09\\\',\\\'20%y-%m-%d\\\') DATE; ②:SELECT DATE_FO

    2023年04月18日
    浏览(52)
  • JS日期与字符串相互转换(时间格式化YYYY-MM-DD,Dayjs的使用)

    文章内容 文章链接 JS数组对象—— 根据日期进行排序 , 按照时间进行升序或降序排序 https://blog.csdn.net/XSL_HR/article/details/128579840?spm=1001.2014.3001.5501 JS日期时间格式化—— 数字日期转中文日期 (封装函数,dayjs转换时间格式) https://blog.csdn.net/XSL_HR/article/details/128607024?spm=100

    2024年01月18日
    浏览(77)
  • yyyy-MM-dd‘T‘HH:mm:ssZ的T是什么意思?为什么要用单引号引着

    背景 Java里的日期格式,通常我们看到 yyyy-MM-dd\\\'T\\\'HH:mm:ssZ 的写法是什么意思? 尤其这个T作为分隔符为什么左右有单引号,这个单引号会打印出来吗? 这个Z又是什么意思?是时区吗?如果是时区,输出的格式是什么?是类似于这样的字符串:+0800还是+08:00还是+8:00? 解释 yyyy-

    2024年02月07日
    浏览(35)
  • 致命小问题:YYYY-MM-dd格式化时间

    日期格式化可以说是最常用的一个小知识了,例如格式化成\\\" 年-月-日 \\\"、\\\" 年-月-日 时-分-秒 \\\"、“ 年/月/日 ”等等,随之也就出现了“ yyyy-MM-dd ”、\\\" yyyy-MM-dd HH-mm-ss \\\"等格式,使用不当就会一脸懵逼。 首先将日期改为 2019 看一下运行效果: 其次将日期改为 2022 再看一下运行

    2024年02月05日
    浏览(46)
  • 前端 jQuery 如何将时间转换为yyyy-MM-dd格式的

    可以使用 JavaScript 内置的 Date 对象和其提供的方法来实现将时间转换为指定格式的字符串。具体可以使用以下代码: 上述代码中,我们首先创建了一个 Date 对象,然后使用其提供的 getFullYear() 、 getMonth() 和 getDate() 方法获取了年份、月份和日期。注意, getMonth() 方法返回的月

    2024年02月06日
    浏览(43)
  • 【夏令时】用@JsonFormat(pattern = “yyyy-MM-dd“)注解,出生日期竟然年轻了一天

    用@JsonFormat(pattern = \\\"yyyy-MM-dd\\\")注解,出生日期竟然年轻了一天 艺术源于生活,bug源于开发。 起因是艰苦奋战一个月, 测试及验收都顺利通过 ,上线也稳稳的 成功 。但是 毒奶 总是在不经意给你灌上,部分的用户的 身份证和出生日期对不上,总是少一天 。 开始以为 前端显

    2024年02月11日
    浏览(40)
  • Aspose.cell excel转pdf日期格式不正确yyyy/MM/dd变成MM/dd/yyyy

    最近使用Aspose.cell将excel转pdf过程中excel中时间格式列的显示和excel表里的值显示不一样。 excel里日期格式 yyyy/MM/dd pdf里日期格式MM/dd/yyyy 主要原因:linux和windows里内置的时间格式不一致,当代码部署到linux服务器的时候转换格式就会发生不一致的问题。 解决方法:使用apache p

    2024年02月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包