首页 > 编程语言 >极客编程python入门-内建模块datetime

极客编程python入门-内建模块datetime

时间:2023-01-05 10:12:29浏览次数:49  
标签:极客 python 18 datetime print 2015 dt now


datetime


datetime是Python处理日期和时间的标准库。


获取当前日期和时间


>>> from datetime import datetime
>>> now = datetime.now() # 获取当前datetime
>>> print(now)
2015-05-18 16:28:07.198690
>>> print(type(now))
<class 'datetime.datetime'>


获取指定日期和时间


>>> from datetime import datetime
>>> dt = datetime(2015, 4, 19, 12, 20) # 用指定日期时间创建datetime
>>> print(dt)
2015-04-19 12:20:00


datetime转换为timestamp


把一个datetime类型转换为timestamp只需要简单调用timestamp()方法:


>>> from datetime import datetime
>>> dt = datetime(2015, 4, 19, 12, 20) # 用指定日期时间创建datetime
>>> dt.timestamp() # 把datetime转换为timestamp
1429417200.0


timestamp转换为datetime


要把timestamp转换为datetime,使用datetime提供的fromtimestamp()方法:


>>> from datetime import datetime
>>> t = 1429417200.0
>>> print(datetime.fromtimestamp(t))
2015-04-19 12:20:00


>>> from datetime import datetime
>>> t = 1429417200.0
>>> print(datetime.fromtimestamp(t)) # 本地时间
2015-04-19 12:20:00
>>> print(datetime.utcfromtimestamp(t)) # UTC时间
2015-04-19 04:20:00


str转换为datetime


转换方法是通过datetime.strptime()实现,需要一个日期和时间的格式化字符串:


>>> from datetime import datetime
>>> cday = datetime.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S')
>>> print(cday)
2015-06-01 18:19:59


datetime转换为str


转换方法是通过strftime()实现的,同样需要一个日期和时间的格式化字符串:


>>> from datetime import datetime
>>> now = datetime.now()
>>> print(now.strftime('%a, %b %d %H:%M'))
Mon, May 05 16:28


datetime加减


>>> from datetime import datetime, timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2015, 5, 18, 16, 57, 3, 540997)
>>> now + timedelta(hours=10)
datetime.datetime(2015, 5, 19, 2, 57, 3, 540997)
>>> now - timedelta(days=1)
datetime.datetime(2015, 5, 17, 16, 57, 3, 540997)
>>> now + timedelta(days=2, hours=12)
datetime.datetime(2015, 5, 21, 4, 57, 3, 540997)


时区转换


我们可以先通过utcnow()拿到当前的UTC时间,再转换为任意时区的时间:


# 拿到UTC时间,并强制设置时区为UTC+0:00:
>>> utc_dt = datetime.utcnow().replace(tzinfo=timezone.utc)
>>> print(utc_dt)
2015-05-18 09:05:12.377316+00:00
# astimezone()将转换时区为北京时间:
>>> bj_dt = utc_dt.astimezone(timezone(timedelta(hours=8)))
>>> print(bj_dt)
2015-05-18 17:05:12.377316+08:00
# astimezone()将转换时区为东京时间:
>>> tokyo_dt = utc_dt.astimezone(timezone(timedelta(hours=9)))
>>> print(tokyo_dt)
2015-05-18 18:05:12.377316+09:00
# astimezone()将bj_dt转换时区为东京时间:
>>> tokyo_dt2 = bj_dt.astimezone(timezone(timedelta(hours=9)))
>>> print(tokyo_dt2)
2015-05-18 18:05:12.377316+09:00


小结


1、​​datetime​​表示的时间需要时区信息才能确定一个特定的时间,否则只能视为本地时间。

2、如果要存储​​datetime​​,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关。

标签:极客,python,18,datetime,print,2015,dt,now
From: https://blog.51cto.com/apple0/5989448

相关文章

  • Python爬虫常用哪些库?
    经常游弋在互联网爬虫行业的程序员来说,如何快速的实现程序自动化,高效化都是自身技术的一种沉淀的结果,那么使用Python爬虫都会需要那些数据库支持?下文就是有关于我经常使用的......
  • Python 实现Ping命令状态检测
    ping是一种因特网包探索器,用于测试网络连接量的程序,Ping是工作在TCP/IP网络体系结构中应用层的一个服务命令,主要是向特定的目的主机发送ICMP请求报文,测试目的站是否可达......
  • Python源设置以及国内源地址
    #########国内源地址##############腾讯开源镜像站http://mirrors.cloud.tencent.com/pypi/simple豆瓣http://pypi.douban.com/simple/网易开源镜像站http://mirrors.1......
  • Python学习day02
    一、用户交互1.猜年龄death_age=80name=input("yourname:")age=int(input("yourage:"))print("yourname"name)print("youcanstilllivefor"death_age-age"yea......
  • python中模块的__all__属性详解
    python中模块的__all__属性详解python模块中的__all__属性,可用于模块导入时限制示例1普通类#kk.pyclassA():def__init__(self,name,age):self.name......
  • python组合数据类型(容器数据类型)
    全!python组合数据类型(容器类型)组合数据类型为python解释器中内置的标准类型,包含组合数据类型在内的内置标准类型有:数字、序列、映射、类等等序列类型三种基本序列类......
  • 极客时间《性能测试实战》——性能测试基础
    性能测试的概念1.性能测试概念的传统解释:压力测试压力测试是评估系统处于或超过预期负载时系统的运行情况。压力测试的关注点在于系统在峰值负载或超出最大载荷情况下......
  • python中的copula:Frank、Clayton和Gumbel copula模型估计与可视化|附代码数据
    全文下载链接:http://tecdat.cn/?p=23646最近我们被客户要求撰写关于copula的研究报告,包括一些图形和统计输出。你可能会问,为什么是copulas?我们指的是数学上的概念。简单......
  • python100个知识点
    1 十转二将十进制转换为二进制:>>> bin(10)'0b1010'2十转八十进制转换为八进制:>>> oct(9)'0o11'3十转十六十进制转换为十六进制:>>> hex(15)'0xf'4 字符串......
  • python用回归、arima、随机森林、GARCH模型分析国债期货波动性、收益率、价格预测
    全文链接:http://tecdat.cn/?p=31123原文出处:拓端数据部落公众号分析师:YihanMao解决方案本文为客户提供咨询,让个人购买人员了解美国国债期货的特性,以便于进行个人投资......