python中datetime
㈠ python怎么调用时间
datetime在python中比较常用,主要用来处理时间日期,使用前先倒入datetime模块。下面总结下本人想到的几个常用功能。
1、当前时间:
>>> print datetime.datetime.now()2015-07-17 16:39:15.712000>>> print type(datetime.datetime.now())
<type 'datetime.datetime'>
返回的datetime时间格式。
2、当前日期
>>> print datetime.datetime.now().date()2015-07-17>>> print type(datetime.datetime.now().date())
<type 'datetime.date'>
3、当前时间tuple
>>> datetime.datetime.now().timetuple()time.struct_time(tm_year=2015, tm_mon=7, tm_mday=17, tm_hour=16, tm_min=51, tm_sec=26, tm_wday=4, tm_yday=198, tm_isdst=-1)
>>> datetime.datetime.now().timetuple().tm_mday17
4、时间移动(几天、几小时前后...)
使用datetime.timedelta这个方法来前后移动时间,可以用的参数有weeks,days,hours,minutes,seconds,microseconds。
>>> print datetime.datetime.now() + datetime.timedelta(days=1)2015-07-18 16:49:48.574000>>> print datetime.datetime.now() + datetime.timedelta(hours=1)2015-07-17 17:49:57.122000>>> print datetime.datetime.now() + datetime.timedelta(minutes=-30)2015-07-17 16:20:08.619000
上个月最后一天
>>> print datetime.date(day=1,month=datetime.date.today().month,year=datetime.date.today().year) - datetime.timedelta(days=1)2015-06-30
5、获取两个时间的时间差
>>> (datetime.datetime.now() - datetime.datetime.utcnow()).total_seconds()
28800.0
6、时间转化
datetime转str格式:
>>> datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")'2015-07-17 16:58:46'
str格式转datetime格式:
>>> datetime.datetime.strptime("2015-07-17 16:58:46","%Y-%m-%d %H:%M:%S")
datetime.datetime(2015, 7, 17, 16, 58, 46)
>>> print datetime.datetime.strptime("2015-07-17 16:58:46","%Y-%m-%d %H:%M:%S")2015-07-17 16:58:46>>> print type(datetime.datetime.strptime("2015-07-17 16:58:46","%Y-%m-%d %H:%M:%S"))
<type 'datetime.datetime'>
datetime转timestamp:
>>> import time>>> now=datetime.datetime.now()>>> time.mktime(now.timetuple())1437123812.0
timestamp转datetime:
>>> datetime.datetime.fromtimestamp(1437123812.0)datetime.datetime(2015, 7, 17, 17, 3, 32)
>>> print datetime.datetime.fromtimestamp(1437123812.0)
2015-07-17 17:03:32
㈡ python运行时间的几种方法
1.获取当前时间的两种方法:
importdatetime,time
now=time.strftime("%Y-%m-%d%H:%M:%S")
printnow
now=datetime.datetime.now()
printnow
2.获取上个月最后一天的日期(本月的第一天减去1天)
last=datetime.date(datetime.date.today().year,datetime.date.today().month,1)-datetime.timedelta(1)
printlast
3.获取时间差(时间差单位为秒,常用于计算程序运行的时间)
starttime=datetime.datetime.now()
#longrunning
endtime=datetime.datetime.now()
print(endtime-starttime).seconds
4.计算当前时间向后10个小时的时间
d1=datetime.datetime.now()
d3=d1+datetime.timedelta(hours=10)
d3.ctime()
注:常用的类有:datetime和timedelta二种,相互间可以加减。
㈢ python如何定义日期函数
在Python中,日期和时间相关的函数和类被封装在datetime模块中。可以使用该模块中的函数和类来处理日期和时间相关的操作。下面是一些常用的日期函数:
datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None):创建一个datetime对象,表示指定的日键升期和时间。year、month和day参数是必需的,表示日期;hour、minute、second和microsecond参数是可选的,表示时间;tzinfo参数是可选的,表示时区信息。
datetime.date(year, month, day):创建一个date对象,表示指定的日期。year、month和day参数是必需的,表示日期。
datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None):创建一个time对象,表示指定的时间。hour、minute、second和microsecond参数是可选的,表示时间;tzinfo参数是可选的,表示时区信息。
datetime.datetime.now(tz=None):返回一个datetime对象,表示当前日期和时间。tz参数是可选的,表示时区信息。
datetime.date.today():返回一个date对象,表示当前日期。
这些函数可以用来创建、稿庆老获取日期和差派时间对象,并进行各种日期和时间的操作。例如,可以使用datetime.datetime.now()函数获取当前日期和时间,然后使用strftime()函数将其格式化为字符串输出。
㈣ 如何使用python中timedelta这个类实现月份的累加
这个玩意不好整月份增加 实在要整的也可以
1 计算出这段指定时间的当天时间凌晨时间和叠加月后的凌晨时间
2 求出相差的天数
3 最后再加天数再指定的时间内叠加即可
不过网上的大神们 有简单的方法 可以试试
# -*- coding: utf-8 -*-
import datetime
now = datetime.datetime.now()#当前日期
print now
addmonths = 3 #增加的月份数 往前推 就是负数 -3
print now.replace(month=(now.month + addmonths - 1) % 12 + 1, year=now.year if now.month < 10 else now.year + 1)
这个玩意不好整月份增加 实在要整的也可以
1 计算出这段指定时间的当天时间凌晨时间和叠加月后的凌晨时间2 求出相差的天数3 最后再加天数再指定的时间内叠加即可 不过网上的大神们 有简单的方法 可以试试# -*- coding: utf-8 -*-import datetimenow = datetime.datetime.now()#当前日期print nowaddmonths = 3 #增加的月份数 往前推 就是负数 -3print now.replace(month=(now.month + addmonths - 1) % 12 + 1, year=now.year if now.month < 10 else now.year + 1)
㈤ 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()