返回介绍

01. Python 工具

02. Python 基础

03. Numpy

04. Scipy

05. Python 进阶

06. Matplotlib

07. 使用其他语言进行扩展

08. 面向对象编程

09. Theano 基础

10. 有趣的第三方模块

11. 有用的工具

12. Pandas

datetime 模块

发布于 2022-09-03 20:46:14 字数 5662 浏览 0 评论 0 收藏 0

In [1]:

import datetime as dt

datetime 提供了基础时间和日期的处理。

date 对象

可以使用 date(year, month, day) 产生一个 date 对象:

In [2]:

d1 = dt.date(2007, 9, 25)
d2 = dt.date(2008, 9, 25)

可以格式化 date 对象的输出:

In [3]:

print d1
print d1.strftime('%A, %m/%d/%y')
print d1.strftime('%a, %m-%d-%Y')
2007-09-25
Tuesday, 09/25/07
Tue, 09-25-2007

可以看两个日期相差多久:

In [4]:

print d2 - d1
366 days, 0:00:00

返回的是一个 timedelta 对象:

In [5]:

d = d2 - d1
print d.days
print d.seconds
366
0

查看今天的日期:

In [6]:

print dt.date.today()
2015-09-10

time 对象

可以使用 time(hour, min, sec, us) 产生一个 time 对象:

In [7]:

t1 = dt.time(15, 38)
t2 = dt.time(18)

改变显示格式:

In [8]:

print t1
print t1.strftime('%I:%M, %p')
print t1.strftime('%H:%M:%S, %p')
15:38:00
03:38, PM
15:38:00, PM

因为没有具体的日期信息,所以 time 对象不支持减法操作。

datetime 对象

可以使用 datetime(year, month, day, hr, min, sec, us) 来创建一个 datetime 对象。

获得当前时间:

In [9]:

d1 = dt.datetime.now()
print d1
2015-09-10 20:58:50.148000

给当前的时间加上 30 天,timedelta 的参数是 timedelta(day, hr, min, sec, us)

In [10]:

d2 = d1 + dt.timedelta(30)
print d2
2015-10-10 20:58:50.148000

除此之外,我们还可以通过一些指定格式的字符串来创建 datetime 对象:

In [11]:

print dt.datetime.strptime('2/10/01', '%m/%d/%y')
2001-02-10 00:00:00

datetime 格式字符表

字符含义
%a星期英文缩写
%A星期英文
%w一星期的第几天,[0(sun),6]
%b月份英文缩写
%B月份英文
%d日期,[01,31]
%H小时,[00,23]
%I小时,[01,12]
%j一年的第几天,[001,366]
%m月份,[01,12]
%M分钟,[00,59]
%pAM 和 PM
%S秒钟,[00,61] (大概是有闰秒的存在)
%U一年中的第几个星期,星期日为第一天,[00,53]
%W一年中的第几个星期,星期一为第一天,[00,53]
%y没有世纪的年份
%Y完整的年份

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文