总结一下python中对日期和时间的常用处理方法。

准备

import time,datetime

常用操作

输出当前的日期时间

方式一:

now = time.localtime()

print '【Output】'
print type(now)
print now
print now[:3]
【Output】
<type 'time.struct_time'>
time.struct_time(tm_year=2017, tm_mon=8, tm_mday=21, tm_hour=23, tm_min=15, tm_sec=42, tm_wday=0, tm_yday=233, tm_isdst=0)
(2017, 8, 21)

输出当前时间戳(单位:秒):

print '【Output】'
print time.time()
【Output】
1503329021.99

方式二:

now = datetime.datetime.now()
print '【Output】'
print now.strftime('%Y-%m-%d %H:%M:%S')
【Output】
2017-08-21 23:23:46

格式化输出当前时间

t = time.localtime()
print '【Output】'
print time.strftime('%Y-%m-%d %H:%M:%S',t)
time.sleep(2)
print time.strftime('%Y-%m-%d %H:%M:%S') # 如果不指定时间,输出的就是当前时间
【Output】
2017-08-21 23:17:57
2017-08-21 23:17:59

附:格式化字符串总结

  • %a 英文星期简称
  • %A 英文星期全称
  • %b 英文月份简称
  • %B 英文月份全称
  • %c 本地日期时间
  • %d 日期,1~31
  • %H 小时,0~23
  • %I 小时,0~12
  • %m 月,01~12
  • %M 分钟,0~59
  • %S 秒,0~59
  • %j 年中当天的天数
  • %w 星期数,1~7
  • %W 年中的第几周
  • %x 当天日期,格式:01/31/17
  • %X 本地的当天时间
  • %y 年份,00~99
  • %Y 年份完整拼写

字符串转为日期时间对象

t = time.strptime('2000-1-1 10:00','%Y-%m-%d %H:%M')  # 注:前后格式要保持一致,否则转换会出错
print '【Output】'
print type(t)
print t
【Output】
<type 'time.struct_time'>
time.struct_time(tm_year=2000, tm_mon=1, tm_mday=1, tm_hour=10, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=1, tm_isdst=-1)

构造datetime对象

dt = datetime.datetime(2010,1,1,23)
print '【Output】'
print type(dt)
print dt
【Output】
<type 'datetime.datetime'>
2010-01-01 23:00:00

将struct_time对象转为时间戳(秒)

now = time.localtime()
timestamp = time.mktime(now)
print '【Output】'
print timestamp
【Output】
1503329307.0

将时间戳(秒)转为struct_time对象

timestamp = 1480000000
print '【Output】'
print time.localtime(timestamp)
【Output】
time.struct_time(tm_year=2016, tm_mon=11, tm_mday=24, tm_hour=23, tm_min=6, tm_sec=40, tm_wday=3, tm_yday=329, tm_isdst=0)

随机推荐

  1. 推荐一个 HTML5在线的流程图工具——ProcessOn

    一直想找个简单好用的UML建模工具,无意在茫茫百度中看见了网友推荐的N多工具,从中找了一个叫 ProcessOn 的工具,可以说非常棒.如果我是WEB开发人员,我肯定去深入研究HTML5啦,太令人着迷 ...

  2. Session过期后自动跳转到登录页面的实例代码

    1.在项目的web.xml文件中添加如下代码: ? 1 2 3 4 <!--添加Session监听器--> <listener> <listener-class> ...

  3. URL中?和#的区别(关于SSRF)以及mysql的secure-file-priv

    零,绪论 20180125日,忙! 瞎比比总结一下,来满足这是个日记的样子. 1.今天谈的并不是什么技术[当然也不是没有技术(都很基础)]而是瞎几把扯. 一.关于一种SSRF的检测绕过: 1.背景: ...

  4. 快速解决:windows安装程序无法将windows配置为在此计算机的硬件上运行

    用手工运行msoobe.ext启用配置的方法, 快速解决:windows安装程序无法将windows配置为在此计算机的硬件上运行   我自己安装碰到的是蓝色这个错误,下面这个也有网友说用安装驱动等方法 ...

  5. highcharts配置的效果如下

    配置如下: function init(categoryArray,seriesData,month_first_day,month_last_day,currDay){ var chart = Hi ...

  6. Ubuntu 中 apache 开启 rewrite 模块

    ubuntu14.04中安装好apache2.4之后默认rewrite模块是不开启的,项目public目录下的.htaccess文件就用不了,在浏览器中访问网页总是报500错误,原因就是这个. 执行下 ...

  7. 基于注解的形式配置Bean

    基于注解的方式配置Bean:也就说我们在每个Bean的类名前面注解一下,Spring会自动帮我们扫描Bean放进IOC容器中 I基于注解的方式配置Bean(没有依赖关系的Bean)有两个步骤: 1组件 ...

  8. VC 常用资源

    vckbase:www.vckbase.com emule:http://sourceforge.net/projects/emule/files/eMule/ firefox developer:h ...

  9. Storm-源码分析-Topology Submit-Task-TopologyContext (backtype.storm.task)

    1. GeneralTopologyContext 记录了Topology的基本信息, 包含StormTopology, StormConf 已经从他们推导出的, task和component, co ...

  10. Flask之session相关

    Flask的session简介 除请求对象之外,还有一个 session 对象.它允许你在不同请求间存储特定用户的信息.它是在 Cookies 的基础上实现的,并且对 Cookies 进行密钥签名要使 ...