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. hadoop3.x的安装

    请看https://www.cnblogs.com/garfieldcgf/p/8119506.html

  2. mysql 约束和外键约束实例

    1.约束保证数据的完整性和一致性. 2.约束分为表级约束和列级约束.(根据约束所针对的字段的数目的多少来决定) 列级约束:对一个数据列建立的约束 表级约束:对多个数据列建立的约束 列级约束即可以在列定 ...

  3. web api 过滤器

    /// <summary> /// 渠道过滤器 /// </summary> [AttributeUsage(AttributeTargets.Class | Attribut ...

  4. oracle rman备份

    rman 登录到cmd 打开cmd 输入 rman connect target jhpt/1@orcl C:\Documents and Settings\Administrator>rman ...

  5. Coursera Deep Learning 2 Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization - week1, Assignment(Regularization)

    声明:所有内容来自coursera,作为个人学习笔记记录在这里. Regularization Welcome to the second assignment of this week. Deep ...

  6. mui列表系列

    详细操作见代码: <!doctype html> <html> <head> <meta charset="UTF-8"> < ...

  7. python面向对象--私有和继承

    一. 私有属性和私有方法 应用场景 在实际开发中,对象的某些属性或方法可能只希望在对象的内部使用,而不希望在外部被访问到 私有属性 就是 对象 不希望公开的属性 (属性即类里面的变量) 私有方法 就是 ...

  8. mysql查询反斜杠字符串问题

    马上上线发现一个问题,太坑了 写一个查询语句,明明数据库中有,但是就是查不到,后来发现是反斜杠的问题 比如 数据库中有一个字段名称为 name  存储的值为 “海尔厨电\洗碗机” 当我使用如下sql查 ...

  9. Python 14 Html 基础

    内容概要 html静态页面,标签介绍 HTML简述 定义: HTML,超文本标记语言,写给浏览器的语言,目前网络上应用最广泛的语言.HTML也在不断的更新,最新版本已经出现了HTML5.在HTML5中 ...

  10. Javascript - ExtJs - GridPanel组件 - 编辑

    GridPanel组件 - 编辑 Ext.grid.plugin.Editing 如果要对表格使用列编辑器控件,则需要完成以下几步 1.将columns中需要编辑的列设为editor并提供编辑列时所要 ...