strftime()strptime()行为

datedatetimetime对象都支持一种 strftime(format)方法,以创建一个表示显式格式字符串控制下的时间的字符串。从广义上讲, 尽管不是所有对象都支持一种方法,但它的d.strftime(fmt) 行为类似于time模块。time.strftime(fmt, d.timetuple())timetuple()

相反,datetime.strptime()类方法datetime从表示日期和时间的字符串以及相应的格式字符串创建 对象。除非格式包括支持但被丢弃的子秒组件或时区偏移信息,否则等效于。datetime.strptime(date_string,format)datetime(*(time.strptime(date_string, format)[0:6]))datetime.strptimetime.strptime

对于time对象,不应使用年,月和日的格式代码,因为时间对象没有这样的值。如果它们仍在使用,1900 则替换年份,以及1月份和日期。

对于date对象,不应使用小时,分钟,秒和微秒的格式代码,因为date对象没有这样的值。如果它们仍在使用,0则替代它们。

支持的全套格式代码因平台而异,因为Python调用平台C库的strftime()功能,平台变体很常见。要查看平台支持的完整格式代码集,请参阅strftime(3)文档。

出于同样的原因,处理包含无法在当前语言环境的字符集中表示的Unicode代码点的格式字符串也与平台相关。在某些平台上,此类代码点在输出中保持不变,而在其他平台上则strftime可能会引发UnicodeError或返回空字符串。

以下是C标准(1989版)所需的所有格式代码的列表,这些代码适用于具有标准C实现的所有平台。请注意,1999版C标准添加了其他格式代码。

工作年限的确切范围strftime()也因平台而异。无论平台如何,1900年前都无法使用。

指示 含义 笔记
%a 工作日作为语言环境的缩写名称。
太阳,周一,......,周六(en_US);
所以,Mo,...,Sa(de_DE)
(1)
%A 平日作为语言环境的全名。
星期日,星期一,......,星期六(en_US);
Sonntag,Montag,......,Samstag(de_DE)
(1)
%w 工作日为十进制数,其中0表示星期日,6表示星期六。 0,1,...,6  
%d 作为零填充十进制数的月中的某一天。 01,02,...,31  
%b 月份为区域设置的缩写名称。
Jan,Feb,...,Dec(en_US);
Jan,Feb,...,Dez(de_DE)
(1)
%B 月份为区域设置的全名。
1月,2月,...,12月(en_US);
Januar,Februar,...,Dezember(de_DE)
(1)
%m 月份为零填充十进制数。 01,02,...,12  
%y 没有世纪的年份为零填充十进制数。 00,01,...,99  
%Y 年份以世纪为十进制数。 1970年,1988年,2001年,2013年  
%H 小时(24小时制)作为零填充十进制数。 00,01,...,23  
%I 小时(12小时制)作为零填充十进制数。 01,02,...,12  
%p Locale相当于AM或PM。
AM,PM(en_US);
上午,下午(de_DE)
(1),(2)
%M 分钟为零填充十进制数。 00,01,...,59  
%S 其次是零填充十进制数。 00,01,...,59 (3)
%f Microsecond为十进制数,左侧为零填充。 000000,000001,...,999999 (4)
%z UTC偏移量,格式为+ HHMM或-HHMM(如果对象是天真的,则为空字符串)。 (空),+ 0000,-0400,+ 1030 (5)
%Z 时区名称(如果对象是天真的,则为空字符串)。 (空),UTC,EST,CST  
%j 一年中的一天作为零填充十进制数。 001,002,...,366  
%U 作为零填充十进制数的一年中的周数(星期日作为一周的第一天)。在第一个星期日之前的新年中的所有日子都被认为是在第0周。 00,01,...,53 (6)
%W 一年中的周数(星期一作为一周的第一天)作为十进制数。在第一个星期一之前的新年中的所有日子被认为是在第0周。 00,01,...,53 (6)
%c Locale的适当日期和时间表示。
1988年8月16日星期二21:30:00(en_US);
Di 16 Aug 21:30:00 1988(de_DE)
(1)
%x Locale的适当日期表示。
08/16/88(无);
1988年8月16日(en_US);
19.08.1988(de_DE)
(1)
%X Locale的适当时间表示。
21:30:00(zh_);
21:30:00(de_DE)
(1)
%% 文字'%'字符。  

笔记:

  1. 由于格式取决于当前区域设置,因此在对输出值进行假设时应小心。字段顺序会有所不同(例如,“月/日/年”与“日/月/年”),输出可能包含使用区域设置的默认编码编码的Unicode字符(例如,如果当前区域设置为ja_JP,则为默认值编码可以是中的任一项eucJPSJISutf-8;使用locale.getlocale() 以确定当前区域的编码)。

  2. strptime()方法一起使用时,%p如果%I指令用于解析小时,则该指令仅影响输出小时字段。

  3. time模块不同,该datetime模块不支持闰秒。

  4. %f是C标准中格式字符集的扩展(但在datetime对象中单独实现,因此始终可用)。当与该strptime()方法一起使用时,该%f 指令接受一到六位数字和右边的零焊盘。

    2.6版中的新功能。

  5. 对于幼稚目的,%z%Z格式代码由空字符串替换。

    对于一个知道的对象:

    %z

    utcoffset()转换为形式为+ HHMM或-HHMM的5个字符的字符串,其中HH是2位数字符串,给出UTC偏移小时数,MM是2位数字符串,给出UTC偏移分钟数。例如,如果utcoffset()返回 ,则替换为字符串 。timedelta(hours=-3, minutes=-30)%z'-0330'

    %Z

    如果tzname()返回None%Z则替换为空字符串。否则%Z由返回值替换,返回值必须是字符串。

  6. 当与使用strptime()方法,%U%W指定了一周,一年中的一天,在计算仅使用。

python时间日期格式化和反格式化的更多相关文章

  1. python时间日期字符串各种

    python时间日期字符串各种 第一种 字符串转换成各种日期 time 库 # -*- coding: utf-8 -*- import time, datetime # 字符类型的时间 tss1 = ...

  2. Python时间日期格式化之time与datetime模块总结

    1 引言 在实际开发过程中,我们经常会用到日期或者时间,那么在Python中我们怎么获取时间,以及如何将时间转换为我们需要的格式呢?在之前的开发中,也曾遇到time.datetime等模块下的不同函数 ...

  3. Python时间日期格式化之time与datetime模块

    1 引言 在实际开发过程中,我们经常会用到日期或者时间,那么在Python中我们怎么获取时间,以及如何将时间转换为我们需要的格式呢?在之前的开发中,也曾遇到time.datetime等模块下的不同函数 ...

  4. python时间日期处理

    一.模块介绍: 1.time模块接近操作系统,模块中的大多数函数是调用了所在平台C library的同名函数,部分函数式平台相关的:基于Unix Timestamp,能表述的日期范围被限定在 1970 ...

  5. Python时间日期函数讲解

    所有日期.时间的api都在datetime模块内. 1. 日期输出格式化 datetime => string import datetime now = datetime.datetime.n ...

  6. Python 时间 日期常见操作

    import datetime,time dtstr = '2014-02-14 21:32:12' a = datetime.datetime.strptime(dtstr, "%Y-%m ...

  7. python 时间日期处理

    refer to : http://www.wklken.me/posts/2015/03/03/python-base-datetime.html#datetime-string http://ww ...

  8. 12-Perl 时间日期

    1.Perl 时间日期本章节介绍 Perl 语言对时间日期的处理.Perl中处理时间的函数有如下几种: time() 函数:返回从1970年1月1日起累计的秒数 localtime() 函数:获取本地 ...

  9. python中时间日期格式化符号

    python中时间日期格式化符号: import time print(time.strftime('%Y%H%M%S', time.localtime())) 运行结果: 2016092308 %y ...

随机推荐

  1. None.js 第二步 REPL(交互式解析器)

    简单的表达式 $ node 1 + 4 // 5 5 / 2 // 2.5 3 * 5 // 15 使用变量 $ node x = 5 // 5 var y = 10 // undefined con ...

  2. Python安全 - 从SSRF到命令执行惨案

    前两天遇到的一个问题,起源是在某个数据包里看到url=这个关键字,当时第一想到会不会有SSRF漏洞. 以前乌云上有很多从SSRF打到内网并执行命令的案例,比如有通过SSRF+S2-016漏洞漫游内网的 ...

  3. 【python小练】图片爬虫之BeautifulSoup4

    Python3用不了Scrapy! Python3用不了Scrapy! Python3用不了Scrapy! [重要的事情说三遍,据说大神们还在尝试把scrapy移植到python3,特么浪费我半个小时 ...

  4. Debian Security Advisory(Debian安全报告) DSA-4411-1 firefox-esr security update

    Debian Security Advisory(Debian安全报告) DSA-4411-1  firefox-esr security update Package :firefox-esr CV ...

  5. JS/javaScript 获取div内容

    jquery: 例如<div id="abc"><a>内容</a></div>$("#abc").html(); ...

  6. luogu P3250 [HNOI2016]网络

    传送门 考虑只有一个询问,怎么使用暴力枚举最快的得到答案.因为要求最大的,所以可以把链按权值从大往小排序,然后往后扫,找到一个没有交的就是答案,直接退出 一堆询问,可以考虑整体二分,先二分一个值\(m ...

  7. 2017CCPC秦皇岛 M题Safest Buildings&&ZOJ3993【复杂模拟】

    题意: 给出两个半径R,r,R表示第一次的大圈半径,r表示第二次的小圈半径.第一次大圈的圆心位于(0,0),第二次小圈的圆心未知,但在大圈内,给你一个n,然后给出n个屋子的位置,问这些屋子中,第二次在 ...

  8. Utterance-Wise Recurrent Dropout And Iterative Speaker Adaptation For Robust Monaural Speech Recognition

    单声道语音识别的逐句循环Dropout迭代说话人自适应     WRBN(wide residual BLSTM network,宽残差双向长短时记忆网络) [2] J. Heymann, L. Dr ...

  9. lua 协程的理解

    参考链接: http://www.cnblogs.com/zrtqsk/p/4374360.html 对例子的自我理解: -- 协程的理解 -- co 是协程的内容,类似函数内容, 通过yield 将 ...

  10. 最全免费CDN公共库——网站提速

    开源静态文件 CDN 我们的目标是提供这样一个仓库,让它尽可能全面收录优秀的开源库,并免费为之提供 CDN 加速服务,使之有更好的访问速度和稳定的环境.同时,我们也提供开源库源接入的入口,让所有人都可 ...