python 时间格式化库_Python格式化时间

datetime简介

datetime和time的区别

time

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

该模块主要包括一个类 struct_time,另外其他几个函数及相关常量。

datetime

datetime 比 time 高级了不少,可以理解为 datetime 基于 time 进行了封装,提供了更多实用的函数。在datetime 模块中包含了几个类,具体关系如下:

timedelta # 主要用于计算时间跨度

tzinfo # 时区相关

time # 只关注时间

date # 只关注日期

datetime # 同时有时间和日期

格式化时间

格式化时间主要用到的是datetime.datetime.strftime()方法和datetime.datetime.strptime()方法,这两个方法的一字之差'f'和'p'指的是什么呢?

个人理解:strftime中的'f'指的是format,即格式化时间;strptime中的'p'指的是parse,即将一个字符串string按照指定的格式解析为时间

strptime的用法

官方解释是

strptime(...)

string, format -> new datetime parsed from a string (like time.strptime()).

简单来说,strptime的作用就是将一个字符串解析为时间,并返回为datetime对象。

如我们有字符串 '2018-05-18 11:09:34', 如何将它转换为datetime对象呢?

In [1]: import datetime as dt

In [2]: strTime = '2018-05-18 11:09:34'

In [3]: type(strTime)

Out[3]: str

In [4]: time = dt.datetime.strptime(strTime, '%Y-%m-%d %H:%M:%S')

In [5]: time

Out[5]: datetime.datetime(2018, 5, 18, 11, 9, 34)

In [6]: type(time)

Out[6]: datetime.datetime

strftime的用法

strftime(...)

format -> strftime() style string.

strptime的作用是格式化时间格式,使其按照我们想要的格式来显示。如我们要得到 '11:09:34 2018-05-18' 的格式来输出时间。

如下例,先将字符串解析为datetime对象,然后在格式化时间输出,将其输出按照'11:09:34 2018-05-18'的格式输出。

In [1]: strTime = '2018-05-18 11:09:34'

In [2]: time = dt.datetime.strptime(strTime, '%Y-%m-%d %H:%M:%S')

In [3]: time

Out[3]: datetime.datetime(2018, 5, 18, 11, 9, 34)

In [4]: type(time)

Out[4]: datetime.datetime

In [5]: time.strftime('%H:%M:%S %Y-%m-%d')

Out[5]: '11:09:34 2018-05-18'

In [6]: aa = time.strftime('%H:%M:%S %Y-%m-%d')

In [7]: type(aa)

Out[7]: str

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值