如果时间在零时区,并恰好与协调世界时相同,那么(不加空格地)在时间最后加一个大写字母Z。Z是相对协调世界时时间0偏移的代号。如下午2点30分5秒表示为14:30:05Z143005Z;只表示小时和分,为1430Z或14:30Z;只表示小时,则为14Z或14Z。

def ts_to_format_str(ts, format='%Y-%m-%dT%H:%M:%SZ', timezone='UTC'):
    '''
   
返回时间戳在指定时区下的指定格式
   
:param ts:时间戳,seconds since the Epoch
   
:param format: '%Y-%m-%dT%H:%M:%SZ' '%Y-%m-%d %H:%M:%S'
   
:param timezone: 'UTC' 'Asia/Shanghai'
   
:return:
    '''
   
return datetime.datetime.fromtimestamp(ts, tz=pytz.timezone(
        timezone)).strftime(
        format)

ISO 8601

https://zh.wikipedia.org/wiki/ISO_8601

国际标准ISO 8601,是国际标准化组织的日期和时间的表示方法,全称为《数据存储和交换形式·信息交换·日期和时间的表示方法》。目前是2004年12月1日发行的第三版“ISO8601:2004”以替代1998年的第一版“ISO8601:1988”与2000年的第二版“ISO8601:2000”。

日期表示法[编辑]

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

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

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

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

日历日期表示法[编辑]

年为4位数,月为2位数,月中的日为2位数,例如,日期(2019年10月17日)可表示为2019-10-17,或20191017

顺序日期表示法[编辑]

完全表示:可以将一年内的天的序数用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

对应的各地标准[编辑]

02/07/2106 @ 6:28am (UTC)的更多相关文章

  1. [2017.02.07] Lua入门学习记录

    #!/home/auss/Projects/Qt/annotated/lua -- 这是第一次系统学习Lua语言 --[[ 参考资料: 1. [Lua简明教程](http://coolshell.cn ...

  2. 【算法训练营day4】LeetCode24. 两两交换链表中的结点 LeetCode19. 删除链表的倒数第N个结点 LeetCode面试题 02.07. 链表相交 LeetCode142. 环形链表II

    [算法训练营day4]LeetCode24. 两两交换链表中的结点 LeetCode19. 删除链表的倒数第N个结点 LeetCode面试题 02.07. 链表相交 LeetCode142. 环形链表 ...

  3. leetcode N-Queens/N-Queens II, backtracking, hdu 2553 count N-Queens, dfs 分类: leetcode hdoj 2015-07-09 02:07 102人阅读 评论(0) 收藏

    for the backtracking part, thanks to the video of stanford cs106b lecture 10 by Julie Zelenski for t ...

  4. 使用gdb调试(转: http://www.cnblogs.com/luchen927/archive/2012/02/07/2339003.html)

    一般来说GDB主要调试的是C/C++的程序.要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中.使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点.如: > ...

  5. 2019.02.07 bzoj1487: [HNOI2009]无归岛(仙人掌+树形dp)

    传送门 人脑转化条件过后的题意简述:给你一个仙人掌求最大带权独立集. 思路:跟这题没啥变化好吗?再写一遍加深记忆吧. 就是把每个环提出来分别枚举环在图中的最高点选还是不选分别dpdpdp一下即可,时间 ...

  6. 2019.02.07 bzoj4784: [Zjoi2017]仙人掌(仙人掌+树形dp)

    传送门 题意:给一个无向连通图,问给它加边形成仙人掌的方案数. 思路: 先考虑给一棵树加边形成仙人掌的方案数. 这个显然可以做树形dp. fif_ifi​表示把iii为根的子树加边形成仙人掌的方案数. ...

  7. 2019.02.07 bzoj4316: 小C的独立集(仙人掌+树形dp)

    传送门 题意:给出一个仙人掌森林求其最大独立集. 思路:如果没有环可以用经典的树形dpdpdp解决. fi,0/1f_{i,0/1}fi,0/1​表示第iii个点不选/选的最大独立集. 然后fi,0+ ...

  8. C语言学习记录_2019.02.07

    C99开始,可以用变量来定义数组的大小:例如,利用键盘输入的变量来定义数组大小: 赋值号左边的值叫做左值: 关于数组:编译器和运行环境不会检查数组下标是否越界,无论读还是写. 越界数组可能造成的问题提 ...

  9. NO.002-2018.02.07《越人歌》先秦:佚名

    参考之后略有修改,疑问点“不訾诟耻”释义 越人歌原文.翻译及赏析_古诗文网 蒙羞被好兮不訾诟耻_释义_吴江诗词网   越人歌 先秦:佚名 今夕何夕兮,搴舟中流.今晚是怎样的晚上啊河中漫游.搴(qiān ...

随机推荐

  1. 利用windbg探索进程和进程上下文

    1.列出所有活动进程 使用!process命令可以打印出活动进程的信息.第一个参数是要打印的EPROCESS的地址,如果指定为0则表示打印所有的进程.第二个参数用于说明打印进程信息的详细级别.指定0则 ...

  2. Loadrunner中web_custom_request使用场景

    其中有一段从服务器段动态返回的字符串需要重新提交给服务器(见红色标注) 录制自动生成的脚本是: web_submit_data("generateYfLstAction.do",  ...

  3. Burp Suite使用介绍

    Burp Suite使用介绍(一)  22人收藏 收藏 2014/05/01 19:54 | 小乐天 | 工具收集 | 占个座先 Getting Started Burp Suite 是用于攻击web ...

  4. C# MarshalByRefObject 和Serializable的区别

    这两种方式的类一般都是用于远程传输时使用. marshalbyrefobject是通过引用传递serializable是通过值传递,现在就来分析下什么是引用传递,什么是值传递. 理解这个对Remoti ...

  5. mvc-1mvc和类(2)

    添加私有函数 var Person = function() {}; (function() { var findById = function(){}; Person.find = function ...

  6. UVa10779 Collectors Problem(最大流)

    很容易想到源点向所类型有贴纸连边,容量为Bob一开始有的数量:然后贴纸向汇点连边,容量为1. 接下来就是交换部分的连边了.注意交换一次一次进行,每次只能交换一张. 交换,是对于两种贴纸而言,仅会发生在 ...

  7. Revit二次开发示例:HelloRevit

    本示例实现Revit和Revit打开的文件的相关信息. #region Namespaces using System; using System.Collections.Generic; using ...

  8. Photoshop: 机关单位公章

    机关单位公章的大小与机构的级别有关,级别越高的公章越大,一般直径在3.8-4.2cm,很少有用4.5cm或3.4cm的.但企业的公章一般都很大. 首先点击文件新建,新建一个500×500像素(像素大小 ...

  9. 仿windows8 开始菜单 实现HubTileBase 以及仿鲜果联播实现 PulsingTile(脉冲磁贴)

    http://blog.csdn.net/wangrenzhu2011/article/details/8750820 (转) 本文章将以如何实现 开始菜单上的tile 为主. 该控件代码经过测试可直 ...

  10. ubuntu下Vim配色方案Solarized的配置

    系统:ubuntu 12.04 LTS vim版本:7.4 ---------------------------------------------------------------------- ...