1.python,格式化时间实例,求
对于像'Wed, 11 Apr 2012 09:37:05 +0800'的时间格式化可如下解:
>>> date='Wed, 11 Apr 2012 09:37:05 +0800'
>>> dd=datetime.datetime.strptime(date,'%a, %d %b %Y %H:%M:%S %z')
>>> dd.strftime('%Y-%m-%d %H:%M:%S')Python格式化日期时间的函数为datetime.datetime.strftime();由字符串转为日期型的函数为:datetime.datetime.strptime(),两个函数都涉及日期时间的格式化字符串,列举如下:
%a Abbreviated weekday name
%A Full weekday name
%b Abbreviated month name
%B Full month name
%c Date and time representation appropriate for locale
%d Day of month as decimal number (01 - 31)
%H Hour in 24-hour format (00 - 23)
%I Hour in 12-hour format (01 - 12)
%j Day of year as decimal number (001 - 366)
%m Month as decimal number (01 - 12)
%M Minute as decimal number (00 - 59)
%p Current locale's A.M./P.M. indicator for 12-hour clock
%S Second as decimal number (00 - 59)
%U Week of year as decimal number, with Sunday as first day of week (00 - 51)
%w Weekday as decimal number (0 - 6; Sunday is 0)
%W Week of year as decimal number, with Monday as first day of week (00 - 51)
%x Date representation for current locale
%X Time representation for current locale
%y Year without century, as decimal number (00 - 99)
%Y Year with century, as decimal number
%z, %Z Time-zone name or abbreviation; no characters if time zone is unknown
%% Percent sign
2.python 如何将字符串转化为datetime.date
比较省事的办法是用time模块的strptime方法来解析日期字符串成为时间对象,然后再把年月日部分提取出来,最后生成datetime.date对象。
# 方法1, 用time模块的strptime方法来解析日期字符串成为时间对象import time, datetimedate_str = '2017-10-19'fmt = '%Y-%m-%d'time_tuple = time.strptime(date_str, fmt)year, month, day = time_tuple[:3]a_date = datetime.date(year, month, day)print(a_date, type(a_date))# 方法2, 直接把日期字符串拆分转换成 年/月/日 对应的整数import datetimedate_str = '2017-10-19'print(datetime.date(*map(int, date_str.split('-'))))。
3.python中datetime怎么用
''''' 日期相关的操作 '''
from datetime import datetime
from datetime import timedelta
DATE_FMT = '%Y-%m-%d'
DATETIME_FMT = '%Y-%m-%d %H:%M:%S'
DATE_US_FMT = '%d/%m/%Y'
'''''
格式化常用的几个参数
Y : 1999
y :99
m : mouth 02 12
M : minute 00-59
S : second
d : day
H : hour
'''
def dateToStr(date):
'''''把datetime类型的时间格式化自己想要的格式'''
return datetime.strftime(date, DATETIME_FMT)
def strToDate(strdate):
'''''把str变成日期用来做一些操作'''
return datetime.strptime(strdate, DATETIME_FMT)
def timeElement():
'''''获取一个时间对象的各个元素'''
now = datetime.today()
print 'year: %s month: %s day: %s' %(now.year, now.month, now.day)
print 'hour: %s minute: %s second: %s' %(now.hour, now.minute, now.second)
print 'weekday: %s ' %(now.weekday()+1) #一周是从0开始的
def timeAdd():
'''''
时间的加减,前一天后一天等操作
datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
参数可以是正数也可以是负数
得到的对象可以加也可以减 乘以数字和求绝对值
'''
atime = timedelta(days=-1)
now = datetime.strptime('2001-01-30 11:01:02', DATETIME_FMT)
print now + atime
print now - abs(atime)
print now - abs(atime)*31
import calendar
def lastFirday():
today = datetime.today()
targetDay = calendar.FRIDAY
thisDay = today.weekday()
de = (thisDay - targetDay) % 7
res = today - timedelta(days=de)
print res
def test():
#print dateToStr(datetime.today())
#print strToDate('2013-01-31 12:00:01')
#timeElement()
#timeAdd()
#lastFirday()
if __name__=='__main__':
test()
4.如何用python将格式化时间格式转换成正常的时间格式
#!/usr/bin/env python
# coding=utf-8
#python 2.7
import time
timestamp = 1462451334
#转换成localtime
time_local = time.localtime(timestamp)
#转换成新的时间格式(2016-05-05 20:28:54)
dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)
5.Python中处理时间的几种方法小结
python中的时间模块主要有time, datetime。
I, time模块time模块中包含了四种时间格式:float格式,即给定时间相对于epoch增加的秒数tuple格式,一个九元组 (tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)string格式,'Mon Feb 6 15:00:06 2012'format格式,以指定的格式生成的时间针对这几种时间格式,time模块提供了函数在格式之间相互转换。asctime(tuple) ->string ctime(float) ->stringgmtime(float) ->tuplelocaltime(float) ->tuplemktime(tuple) ->floatstrftime(format, tuple) ->format stringstrptime(formatstring, format) ->tupletime() -> float上述函数中,除了time()函数直接返回当前时间相对于epoch的秒数外,其他函数都要求有时间的输入,如果没有输入,则默认使用当前时间。
另外,strftime和strptime中的format使用下面的格式:%a 英文星期简写%A 英文星期的完全%b 英文月份的简写%B 英文月份的完全%c 显示本地日期时间%d 日期,取1-31%H 小时, 0-23%I 小时, 0-12%m 月, 01 -12%M 分钟,1-59%j 年中当天的天数%w 显示今天是星期几%W 第几周%x 当天日期%X 本地的当天时间%y 年份 00-99间%Y 年份的完整拼写%S 秒(00-59)除了上述的时间转换函数之外,模块还提供了下面的函数:clock() 返回进程的创建时间,以秒计数的floatsleep(float) sleep一段时间,以秒计数tzset() 更改时区II, datetimedatetime模块定义了下面这几个类:datetime.date:表示日期的类。常用的属性有year, month, day;datetime.time:表示时间的类。
常用的属性有hour, minute, second, microsecond;datetime.datetime:表示日期时间。datetime.timedelta:表示时间间隔,即两个时间点之间的长度。
datetime.tzinfo:与时区有关的相关信息。(这里不详细充分讨论该类,感兴趣的童鞋可以参考python手册) 注 :上面这些类型的对象都是不可变(immutable)的。
下面详细介绍这些类的使用方式。date类 date类表示一个日期。
日期由年、月、日组成(地球人都知道~~)。date类的构造函数如下: class datetime.date(year, month, day):参数的意义就不多作解释了,只是有几点要注意一下:year的范围是[MINYEAR, MAXYEAR],即[1, 9999];month的范围是[1, 12]。
(月份是从1开始的,不是从0开始的~_~);day的最大值根据给定的year, month参数来决定。例如闰年2月份有29天; date类定义了一些常用的类方法与类属性,方便我们操作:date.max、date.min:date对象所能表示的最大、最小日期;date.resolution:date对象表示日期的最小单位。
这里是天。date.today():返回一个表示当前本地日期的date对象;date.fromtimestamp(timestamp):根据给定的时间戮,返回一个date对象;datetime.fromordinal(ordinal):将Gregorian日历时间转换为date对象;(Gregorian Calendar :一种日历表示方法,类似于我国的农历,西方国家使用比较多,此处不详细展开讨论。)
6.python datetime处理时间
不知道你的20.5还有27.5是什么微秒制式知.Python新版的道规格必须要求是整形的,而且取出微秒要用.microseconds.
楼上版的timedelta = time1-time2 if time1>time2 else time2-time1可用,也可以直接权
print (lambda x:x.seconds)(lambda x,y:x-y if x>y else y-x)(time1,time2)
另外,为什么一定要用(time1-time2).seconds?
转载请注明出处代码入门网 » python格式化日期