python时间日期格式化和反格式化
strftime()
和strptime()
行为
date
,datetime
和time
对象都支持一种 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.strptime
time.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) |
%% |
文字'%' 字符。 |
% |
笔记:
由于格式取决于当前区域设置,因此在对输出值进行假设时应小心。字段顺序会有所不同(例如,“月/日/年”与“日/月/年”),输出可能包含使用区域设置的默认编码编码的Unicode字符(例如,如果当前区域设置为
ja_JP
,则为默认值编码可以是中的任一项eucJP
,SJIS
或utf-8
;使用locale.getlocale()
以确定当前区域的编码)。与
strptime()
方法一起使用时,%p
如果%I
指令用于解析小时,则该指令仅影响输出小时字段。%f
是C标准中格式字符集的扩展(但在datetime对象中单独实现,因此始终可用)。当与该strptime()
方法一起使用时,该%f
指令接受一到六位数字和右边的零焊盘。2.6版中的新功能。
对于幼稚目的,
%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
由返回值替换,返回值必须是字符串。
当与使用
strptime()
方法,%U
并%W
指定了一周,一年中的一天,在计算仅使用。
python时间日期格式化和反格式化的更多相关文章
- python时间日期字符串各种
python时间日期字符串各种 第一种 字符串转换成各种日期 time 库 # -*- coding: utf-8 -*- import time, datetime # 字符类型的时间 tss1 = ...
- Python时间日期格式化之time与datetime模块总结
1 引言 在实际开发过程中,我们经常会用到日期或者时间,那么在Python中我们怎么获取时间,以及如何将时间转换为我们需要的格式呢?在之前的开发中,也曾遇到time.datetime等模块下的不同函数 ...
- Python时间日期格式化之time与datetime模块
1 引言 在实际开发过程中,我们经常会用到日期或者时间,那么在Python中我们怎么获取时间,以及如何将时间转换为我们需要的格式呢?在之前的开发中,也曾遇到time.datetime等模块下的不同函数 ...
- python时间日期处理
一.模块介绍: 1.time模块接近操作系统,模块中的大多数函数是调用了所在平台C library的同名函数,部分函数式平台相关的:基于Unix Timestamp,能表述的日期范围被限定在 1970 ...
- Python时间日期函数讲解
所有日期.时间的api都在datetime模块内. 1. 日期输出格式化 datetime => string import datetime now = datetime.datetime.n ...
- Python 时间 日期常见操作
import datetime,time dtstr = '2014-02-14 21:32:12' a = datetime.datetime.strptime(dtstr, "%Y-%m ...
- python 时间日期处理
refer to : http://www.wklken.me/posts/2015/03/03/python-base-datetime.html#datetime-string http://ww ...
- 12-Perl 时间日期
1.Perl 时间日期本章节介绍 Perl 语言对时间日期的处理.Perl中处理时间的函数有如下几种: time() 函数:返回从1970年1月1日起累计的秒数 localtime() 函数:获取本地 ...
- python中时间日期格式化符号
python中时间日期格式化符号: import time print(time.strftime('%Y%H%M%S', time.localtime())) 运行结果: 2016092308 %y ...
随机推荐
- ElasticSearch - Shard数调优(ElasticSearch性能)
序言 资料 https://blog.csdn.net/waneyongfu/article/details/78215972
- NSScanner类的基本用法
NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的字符串.可以在创建NSScaner时指定它的string属性,然后scanner会按照你的要求从头到尾地扫描 ...
- 【LDAP】LDAP注入漏洞与防御
0x01 前言 前两天爆了一个LDAP漏洞,据说存在了8年现在才被发现,感概一下,不知这8年来有多少站被搞了... 想着复现这个漏洞,就先复习一下LDAP注入的相关知识吧,差了很多资料,记一下笔记. ...
- byte数组和int之间相互转化的方法
Java中byte数组和int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送者接收的数据都是byte数组,但是int类型是4个byte组成的,如何把一个整形in ...
- 配置JDK和Tomcat环境变量
配置JDK和Tomcat环境变量 一.安装JDK和Tomcat 安装JDK:直接运行jdk-7-windows-i586.exe可执行程序,默认安装即可. 备注:路径可以其他盘符,不建议路径包含中文名 ...
- new、override关键字
1.如果我想彻底覆盖父类的方法,此时可以使用override .假有classB继承自classA,代码如下: public class B : A { public bool _flag; publ ...
- ieda 运行web--导入其它jar包
== 配置 或选择tomcat 1.打开IntelliJ IDEA,点击菜单的“Run”->“Edit Configurations...”,然后会打开运行设置弹框.2.在弹框中,点击左上角的“ ...
- 省市联动-获取资源文件xml 获取nodes的方法要学会
try { SAXReader reader = new SAXReader(); InputStream input = this.getClass().getResourceAsStream(&q ...
- 黑马程序员_Java基础视频-深入浅出精华版--视频列表
\day01\avi\01.01_计算机基础(计算机概述).avi; \day01\avi\01.02_计算机基础(计算机硬件和软件概述).avi; \day01\avi\01.03_计算机基础(软件 ...
- 小程序学习(冒泡,快速创建文件,以及tarbar)
1.关于小程序的事件冒泡机制 例如: <view catchtap="opp"> <text>当前内容</text> </view> ...