time与datetime模块总结

梳理Python日期时间获取与格式化

time模块

import time

print time.time() # 时间戳
# 转化格式
print time.localtime()
print time.localtime(time.time())
print time.localtime(1544200000.1232) # 传入其他时间戳
# 时间戳(1970纪元后经过的浮点秒数)
print time.mktime(time.localtime()) # 当前时间戳
print time.strftime('%Y-%m-%d', time.localtime()) # 格式化时间
print time.strftime('%Y年%m月%d日 %M时%I分%S秒' , time.localtime())
print time.strptime('2018年12月08日 34时10分04秒' , '%Y年%m月%d日 %M时%I分%S秒')  #格式化时间
print time.asctime() # 不传参数  默认是当前时间
print time.asctime(time.localtime(1544278402.1804464))

datetime 模块

datetime模块的功能主要都几种在datetime、date、time、timedelta、tzinfo五个类中,datetime模块是time模块的封装,时间各属性的获取方便一些,在效率上会低一些。

f11 = datetime.date.today()  # 2020-05-28
today1 = datetime.datetime.now() # 2020-05-28 10:01:56.608000
today = datetime.datetime.now() # 2020-05-28 10:04:00.137000
dat = datetime.datetime.now().strftime("%Y年-%m月-%d日 %H时:%M分:%S秒")  # 2020年-05月-28日 09时:55分:10秒
fstart_remind = f11 - datetime.timedelta(days=30)  #
fstart_remind1 = datetime.datetime.strptime("2020-05-24", '%Y-%m-%d')
# print fstart_remind1

from dateutil.relativedelta import relativedelta
# datatiem年加减
fstart_year = (fstart_remind1 + relativedelta(years=1)).strftime('%Y-%m-%d')
# 年/月/天加减
s_time = datetime.datetime.now()
stMonths = (s_time + relativedelta(months=12))
stMonth1 = (s_time - relativedelta(years=1))
stMonth1 = (s_time + relativedelta(days=2))


# 天加减
fstart_remind = "2020-04-14"
fstart_remind = datetime.datetime.strptime(fstart_remind, '%Y-%m-%d') + datetime.timedelta(days=60)
fstart_remind = datetime.datetime.strptime(fstart_remind, '%Y-%m-%d') - datetime.timedelta(days=30)
print fstart_remind,"1212121"


# datetime.time(hour, [minute[, second, [microsecond[, tzinfo]]]])
#   hour为必须参数,其他为可选参数

# datetime.date(year, month, day)
#   year, month 和 day都是是必须参数

# timedelta可以方便实现日期(date实例、time实例、datetime实例)之间的加减运算。
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, hours=0, weeks=0)
# 所有参数都是默认参数,因此都是可选参数。参数的值可以是整数或浮点数,也可以是正数或负数。内部值存储days、seconds 和 microseconds,其他所有参数都将被转换成这3个单位:
# 1毫秒转换为1000微秒
# 1分钟转换为60秒
# 1小时转换为3600秒
# 1周转换为7天

# datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None)
#   year, month 和 day是必须要传递的参数, tzinfo可以是None或tzinfo子类的实例。


import calendar
# 获取当前时间月份天数
today = datetime.datetime.strptime('2020-04-14', "%Y-%m-%d")
print calendar.monthrange(today.year,today.month)[1]


# 获取下个月1号
def get_up_month_first_day(d):
    return datetime.date(d.year + (d.month == 12), d.month == 12 or d.month + 1, 1)
   
# 获取上个月一号
def get_last_month_first_day(d):
    return datetime.date(d.year - (d.month == 1), d.month - 1 or 12, 1)
# 2.把字符串转成datetime
def str_to_Datetime(st):
    return datetime.datetime.strptime(st, "%Y-%m-%d %H:%M:%S")
print str_to_Datetime("2020-02-25 14:25:26")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值