python当前时间,日期格式化,字符串日期互转

获取系统时间的二种方法,注意类型

# 方法一
import time
time_int = time.time()
local_time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))
print type(time.time()), time.time()
print type(local_time), local_time

# 方法二
import datetime
local_time = datetime.datetime.now()
print type(local_time), local_time

输出结果:
'float'> 1466149146.19
'str'> 2016-06-17 15:39:06
'datetime.datetime'> 2016-06-17 15:39:06.186000

日期字符串互转

import datetime
data_str = '2016-05-01 12:01:01'
# 字符串转日期
data_time = datetime.datetime.strptime(data_str, '%Y-%m-%d %H:%M:%S')
print type(data_time), data_time

# 日期转字符串
local_str = data_time.strftime('%Y-%m-%d %H:%M:%S')
print  type(local_str), local_str

综合示例:
utc时间转本地时间

import datetime

def utc2local(date_str, time_str):

  utc_str = datetime.datetime.strptime(date_str, '%m/%d/%Y').strftime('%Y-%m-%d') + ' ' + datetime.datetime.strptime(time_str, '%I:%M:%S %p').strftime('%H:%M:%S')
  utc_datetime = datetime.datetime.strptime(utc_str, '%Y-%m-%d %H:%M:%S')
  local_datetime = utc_datetime + datetime.timedelta(hours=8)
  local_str = local_datetime.strftime('%Y-%m-%d %H:%M:%S')

  return local_str

print utc2local('06/16/2016', '7:56:15 AM')

你可能感兴趣的:(python)