$python日期和时间的处理

时间:2021-10-15 19:30:06

总结一下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. Linux下磁盘挂载

    公司硬盘不够用了,新买了一个存储,需要挂载到现在的系统上.前期的步骤就不说了,运维全部搞定,无非是硬件和网络那一套,这里只说分配到本人后在Linux下如何挂载. 具体步骤如下: 1.查看是否已经分配 ...

  2. bootstrap-11

    下拉菜单(基本用法) 在使用Bootstrap框架的下拉菜单时,必须调用Bootstrap框架提供的bootstrap.js文件.当然,如果你使用的是未编译版本,在js文件夹下你能找到一个名为“dro ...

  3. Windows 之间用rsync同步数据&lpar;cwRsyncServer配置&rpar;

    rsync是一款优秀的数据同步软件,在跨服务器,跨机房,跨国备份服务器的首选工具,下面就来介绍下如何配置安装cwRsyncServer很大多数软件一样是B/C架构,cwRsyncServer是rsyn ...

  4. MST&lpar;prim&rpar;&plus;树形dp-hdu-4756-Install Air Conditioning

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4756 题目意思: n-1个宿舍,1个供电站,n个位置每两个位置都有边相连,其中有一条边不能连,求n个 ...

  5. JSON多层数据添加与访问

    最近项目中有要用到,JSON的多层数据对象,相当是一个json格式数组里面嵌套一个json对象吧,至于我为什么要用到这个呢,引入业务场景: 两组数据   1:    user_id    user_h ...

  6. CAS单点登录服务器搭建

    关于cas单点登录的原理及介绍这里不做说明了,直接开始: 1.war包下载 去官网(https://www.apereo.org/projects/cas/download-cas)下载cas_ser ...

  7. scikit-learn 学习笔记-- Generalized Linear Models (二)

    Lasso regression 今天介绍另外一种带正则项的线性回归, ridge regression 的正则项是二范数,还有另外一种是一范数的,也就是lasso 回归,lasso 回归的正则项是系 ...

  8. c&num;与Java事件定义的不同

    C#: using System; using System.Collections.Generic; using System.Text; namespace Test1 { class Progr ...

  9. linxu安装方式

    安装Linux操作系统的5种方法以及心得这几天没有调别的东西,想起自己还不太会在没有安装光盘的时候安装Linux,于是试了一下Linux的五种安装方法,下面是我的一些 篇一:安装Linux操作系统的5 ...

  10. &lpar;5&rpar; openssl speed&lpar;测试算法性能&rpar;和openssl rand&lpar;生成随机数&rpar;

    1.1 openssl speed 测试加密算法的性能 支持的算法有: openssl speed [md2] [mdc2] [md5] [hmac] [sha1] [rmd160] [idea-cb ...