zoukankan      html  css  js  c++  java
  • 国际标准时间格式ISO8601

    日期表示法

    年由4位数字组成YYYY,或者带正负号的四或五位数字表示±YYYYY。以公历公元1年为0001年,以公元前1年为0000年,公元前2年为-0001年,其他以此类推。应用其他纪年法要换算成公历,但如果发送和接受信息的双方有共同一致同意的其他纪年法,可以自行应用。

    月、日用两位数字表示:MM、DD。

    只使用数字为基本格式。使用短横线"-"间隔开年、月、日为扩展格式

    ISO 8601:2004不再允许缺省(默认)世纪仅用两位数字表示年,这会与小时数的表示相混淆。而遵循ISO 8601:2000的GB/T 7408-2005,尚还存在这一问题。

    日历日期表示法

    年为4位数,月为2位数,月中的日为2位数,例如,日期2020年3月19日可表示为2020-03-1920200319

    顺序日期表示法

    完全表示:可以将一年内的天的序数用3位数字表示,平年365天,闰年366天。如2004年5月3日可以表示为2004-1242004124

    星期日历表示法

    可以用2位数表示年内第几个日历星期,再加上一位数表示日历星期内第几天,但日历星期前要加上一个大写字母W,如2004年5月3日可写成2004-W19-1或2004W191。但2005-W011是从2005年1月3日开始的,前几天属于上年的第53个日历星期。每个日历星期从星期一开始,星期日为第7天。

    第一个日历星期有以下四种等效说法: 1,本年度第一个星期四所在的星期; 2,1月4日所在的星期; 3,本年度第一个至少有4天在同一星期内的星期; 4,星期一在去年12月29日至今年1月4日以内的星期;

    推理可得,如果1月1日是星期一、星期二、星期三或者星期四,它所在的星期就是第一个日历星期;如果1月1日是星期五、星期六或者星期日,它所在的星期就是上一年第52或者53个日历星期;12月28日总是在一年最后一个日历星期。

    日历星期表示法

    可以用2位数表示本年内第几个日历星期,但日历星期前要加上一个大写字母W。 其他规定同星期日历表示法。

    例如,如2004年第19个星期可写成:2004-W192004W19

    日历月表示法

    可以用2位数表示本年内第几个日历月。

    例如,如2015年7月可写成:201507或2015-07

    日历年表示法

    例如,如2015年可写成:2015

    日期时间表示法

    只使用数字为基本格式。使用冒号":"间隔开小时、分、秒的为扩展格式。小时、分和秒都用2位数表示。

    对于当地时间15时27分46秒,

    • 完全表示:152746或15:27:46
    • 缺省小时的特定分和秒:-2746或-27:46
    • 降低精度仅有小时和分:1528或15:28
    • 缺省小时的特定分:-28
    • 缺省日的特定小时:15
    • 带有小数的当地时间的完全表示:152735.5或15:27:35.5
    • 缺省小时的分,带有小数的秒:-2735.5或-27:35.5
    • 午夜,一日的开始:完全表示为000000或00:00:00;仅有小时和分表示为0000或00:00
    • 午夜,一日的终止:完全表示为240000或24:00:00;仅有小时和分表示为2400或24:00
    • 如果时间在零时区,并恰好与协调世界时相同,那么(不加空格地)在时间最后加一个大写字母Z。Z是相对协调世界时时间0偏移的代号。如下午2点30分5秒表示为14:30:05Z143005Z;只表示小时和分,为1430Z或14:30Z;只表示小时,则为14Z或14Z。
    • 其他时区用实际时间加时差表示,当时的UTC+8时间表示为22:30:05+08:00223005+0800,也可以简化成223005+08

    日期和时间的组合表示法

    合并表示时,要在时间前面加一大写字母T,如要表示东八区时间2004年5月3日下午5点30分8秒,可以写成2004-05-03T17:30:08+08:0020040503T173008+08

    时间段表示法

    如果要表示某一作为一段时间间隔,前面加一大写字母P,但时间段后都要加上相应的代表时间的大写字母。如在一年三个月五天六小时七分三十秒内,可以写成P1Y3M5DT6H7M30S

    时间间隔表示法

    从一个时间开始到另一个时间结束,或者从一个时间开始持续一个时间间隔,要在前后两个时间(或时间间隔)之间放置斜线符"/"。格式为:

    <start>/<end>
    <start>/<duration>
    <duration>/<end>
    <duration>
    

    例如19850412/19860101,19850412/P6M

    循环时间表示法

    前面加上一大写字母R,格式为:

    R【循环次数】【/开始时间】/时间间隔【/结束时间】

    如要从2004年5月6日北京时间下午1点起时间间隔半年零5天3小时循环,且循环3次,可以表示为R3/20040506T130000+08/P0Y6M5DT3H0M0S

    如以1年2个月为循环间隔,无限次循环,最后循环终止于2025年1月1日,可表示为R/P1Y2M/20250101

    引用

    维基百科-国际标准ISO 8601

  • 相关阅读:
    堆排序
    伽马分布
    隔壁-贪心
    对刚—约瑟夫环
    站军姿-两圆并集
    单纯的线性筛素数
    3兔子
    2.圆桌游戏
    1.花
    历史
  • 原文地址:https://www.cnblogs.com/yungyu16/p/12532603.html
Copyright © 2011-2022 走看看