时间模块常用操作总结为下列各个函数:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import time
import datetime
import calendar
def second_to_datetime_string(seconds):
"""
将从公元0年开始的秒数转换为datetime的string形式
:param seconds: 从公元0年开始的秒数
:return: datetime的string形式
"""
s = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(float(seconds)))
year = s.split('-', 1)[0]
rest = s.split('-', 1)[1]
year = int(year) - 1970 # datetime是从1970开始的,因此计算时需要减去1970
return '{}-{}'.format(str(year), rest)
def gregorian_date_to_str(year, month, day):
"""
将公元日期转换成字符串,year占4位,month占2位,day占2位,位数不足补0
:param year: 年份,例如2017
:param month: 月份,例如8或者08
:param day: 天,例如12或者02或者2
:return: 返回位数固定的字符串,例如2017-08-22
"""
return '{}-{}-{}'.format(
year,
month if len(str(month)) == 2 else '0{}'.format(month),
day if len(str(day)) == 2 else '0{}'.format(day)
)
def gregorian_date_to_str_1(year, month, day):
"""
将公元日期转换成字符串,year占4位,month占2位,day占2位,位数不足补0
:param year: 年份,例如2017
:param month: 月份,例如8或者08
:param day: 天,例如12或者02或者2
:return: 返回位数固定的字符串,不带-,例如20170822
"""
return '{}{}{