python 相关时间操作

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;第二个元素是这个月的天数。

 #判断今天是否是本月第一天

  1. 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

http://www.cnblogs.com/dplearning/p/5860297.html

http://www.jb51.net/article/47957.htm

原文地址:https://www.cnblogs.com/AngueTone/p/7339052.html