1.将字符串的时间转换为时间戳
代码如下:
方法:
a = "2013-10-10 23:40:00" #将其转换为时间数组 import time timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S") #转换为时间戳: timeStamp = int(time.mktime(timeArray)) timeStamp == 1381419600
2.格式更改
如a = "2013-10-10 23:40:00",想改为 a = "2013/10/10 23:40:00"
方法:先转换为时间数组,然后转换为其他格式
代码如下:
timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S") otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
3.时间戳转换为指定格式日期
方法一:利用localtime()转换为时间数组,然后格式化为需要的格式,如:
代码如下:
timeStamp = 1381419600 timeArray = time.localtime(timeStamp) otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray) otherStyletime == "2013-10-10 23:40:00"
方法二:
代码如下:
import datetime timeStamp = 1381419600 dateArray = datetime.datetime.utcfromtimestamp(timeStamp) otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S") otherStyletime == "2013-10-10 23:40:00"
4.获取当前时间并转换为指定日期格式
方法一:
代码如下:
import time #获得当前时间时间戳 now = int(time.time()) ->这是时间戳 #转换为其他日期格式,如:"%Y-%m-%d %H:%M:%S" timeArray = time.localtime(timeStamp) otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
方法二:
代码如下:
import datetime #获得当前时间 now = datetime.datetime.now() ->这是时间数组格式 #转换为指定的格式: otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S")
5.获得三天前的时间的方法
代码如下:
import time import datetime #先获得时间数组格式的日期 threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days = 3)) #转换为时间戳: timeStamp = int(time.mktime(threeDayAgo.timetuple())) import time dateArray = datetime.datetime.utcfromtimestamp(timeStamp) threeDayAgo = dateArray - datetime.timedelta(days = 3)
#参考5,可以转换为其他的任意格式了
#把datetime转成字符串 def datetime_toString(dt): return dt.strftime("%Y-%m-%d-%H") #把字符串转成datetime def string_toDatetime(string): return datetime.strptime(string, "%Y-%m-%d-%H") #把字符串转成时间戳形式 def string_toTimestamp(strTime): return time.mktime(string_toDatetime(strTime).timetuple()) #把时间戳转成字符串形式 def timestamp_toString(stamp): return time.strftime("%Y-%m-%d-%H", tiem.localtime(stamp)) #把datetime类型转外时间戳形式 def datetime_toTimestamp(dateTim): return time.mktime(dateTim.timetuple())
#python 获得一个月有多少天
如下代码:
import calendar monthRange = calendar.monthrange(2013,6) print monthRange
输出:
(5, 30)
输出的是一个元组,第一个元素是上一个月的最后一天为星期几(0-6),星期天为0;第二个元素是这个月的天数。
#判断今天是否是本月第一天
-
from datetime import datetime as dtime
import datetime def firstDayOfMonth(dt): return (dt + datetime.timedelta(days= -dt.day + 1)).replace(hour=0, minute=0, second=0, microsecond=0) print firstDayOfMonth(dtime.today()).day == dtime.today().day
#获取当天凌晨时间戳 #获取凌晨 now = time.time() def getZoneTime(now): return now - ((now-time.timezone) % 86400) #获取本周凌晨 now = time.time() def getWeekZoneTime(now): day = datetime.datetime.now().weekday() return now - ((now-time.timezone) % SECONDS_PER_DAY) - day * SECONDS_PER_DAY SECONDS_PER_DAY = 86400 #获取本月凌晨 now = time.time() def getMonthZoneTime(now): nowtime = datetime.datetime.now() day = nowtime.day month_zero_time = now - ((now-time.timezone) % SECONDS_PER_DAY) - (day-1) * SECONDS_PER_DAY return month_zero_time