datetime的使用

1、给出类的关系:

Subclassrelationships:

object
    timedelta
    tzinfo
    time
    date
        datetime

其中
time 模块
基本不用于取时间,去时间推荐使用datetime模块
time 独有的用法:

import time


for i in xrange(1, 10):
    print(i)
    time.sleep(0.1)#隔多久打印一个

结果:

1
2
3
4
5
6
7
8
9

在 Python 文档里,time是归类在Generic Operating System Services中,换句话说, 它提供的功能是更加接近于操作系统层面的。通读文档可知,time 模块是围绕着 Unix Timestamp 进行的。

python 开发过程中,我们经常会用到获取当前时间,根据当前时间生成一个和当天时间相关的文件,这样我们在后期看查找文件的时候就方便了很多。


# datetime

from datetime import datetime, timedelta

now_time = datetime.now()
now_time1 = datetime.now()
print(now_time)
# now_time = now_time.strftime('%Y-%m-%d')
now_time1 = now_time1.strftime('%Y-%m-%d %H:%M:%S')#在测试过程中发现,使用now_time不能跟标准格式输出共存;可能是因为pycharm版本问题所以变更了名称不存在此问题。pycharm版本:2017.2.4
print(now_time1)
a = now_time.strftime('%c')
print(a)

结果:

2017-11-12 23:21:22.811000
2017-11-12 23:21:22
11/12/17 23:21:22   #标准格式,西方人所习惯

说明:
1)先导入datetime类
2)通过datetime的now方法就获得当前所需要的时间
3)datetime还是有好多方法的,可以获取year, month,等,请通过dir()方法查看
4)此时我们获得的now_time还是一个datetime类,所以我们需用用strftime方法转换成字符串,strftime的参数就是最终需要字符串的形式。
5)Strftime需要便是时间的参数有很多,下面我们介绍一下最长用的一些参数:
格式参数:
%Y 带世纪部分的十制年份
%m 十进制表示的月份
%d 十进制表示的每月的第几天
%H 24小时制的小时
%M 十时制表示的分钟数
%S 十进制的秒数
%c 标准时间,如:04/25/17 14:35:14 类似于这种形式
这几个参数就是最常用到的我们用的时间

2、获取昨天或明天的时间使用 timedelta 函数

#now获取当前时间,strftime用来表示显示时间的格式

#如果我们用去昨天或明天的日期,Timedelta
print('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@')

now_time = datetime.now()
yesterday = now_time + timedelta(days=-1)
tomorrow1 = now_time + timedelta(days=+1)
yesterday = yesterday.strftime('%Y-%m-%d %H:%M:%S')
tomorrow1 = tomorrow1.strftime('%Y-%m-%d')
print(yesterday)
print(tomorrow1)
print(now_time)

结果:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2017-11-11 23:29:09
2017-11-13
2017-11-12 23:29:09.335000

3、时间格式转换

时间的三种存在方式:时间对象,时间字符串,时间戳。

from datetime import datetime
import time#时间戳调用需要

now_time = datetime.now()
print(now_time)
print(type(now_time))
print('#############time to str###############')
# _time = now_time.strftime('%Y-%m-%d %H:%M:%S')#此句和下面的都是一样的结果,将时间转换成字符格式
_time = datetime.strftime(now_time, '%Y-%m-%d %H:%M:%S')
print(_time)
print(type(_time))
print('#############str to time###############')
_d_time = datetime.strptime(_time, '%Y-%m-%d %H:%M:%S')#这是把字符转换成时间格式
print(_d_time)
print(type(_d_time))

结果:

2017-11-12 23:30:43.402000
<type 'datetime.datetime'>
#############time to str###############
2017-11-12 23:30:43
<type 'str'>
#############str to time###############
2017-11-12 23:30:43
<type 'datetime.datetime'>

4、时间戳转换时间

print('#############时间戳stamp##############')
#时间戳转事件对象
_a = time.time()#输出默认时间戳
print(_a)
print(type(_a))
_n_time = datetime.fromtimestamp(_a)#时间戳转换成时间格式
print(_n_time)
print(type(_n_time))

结果:

#############时间戳stamp##############
1510500956.73
<type 'float'>
2017-11-12 23:35:56.734000
<type 'datetime.datetime'>

Process finished with exit code 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值