时间转换

python中处理时间的时候,最常用的就是字符形式与时间戳之间的转换。 把最基本的转换在这里记下来

string -> timestamp

import time
import dateutil.parser as dateparser def str_to_timestamp(time_str)
dt = dateparser.parse(time_str)
# OR: dt = time.strptime(datetimestring, fmt)
return time.mktime(dt.timetuple()) datetimestring = 'Fri, 08 Jun 2012 22:40:26 GMT'
str_to_timestamp(datetimestring)

timestamp -> string

import time

def timestamp_to_str(ts, fmt='%Y-%m-%d %H:%M:%S'):
return time.strftime(fmt, time.localtime(timestamp)) timestamp = time.time()
timestamp_to_str(timestamp)

python内置的时间数据结构

python内部使用一个类似于namedtuple的数据结构来存储时间。 这个数据结构有9个字段,可以用数字下标访问,也可以用名字访问。

time.struct_time(
tm_year=2014,
tm_mon=9,
tm_mday=1,
tm_hour=9,
tm_min=0,
tm_sec=0,
tm_wday=0, # 星期几, 0~6
tm_yday=244, # 本年的第几天, 1~366
tm_isdst=0 # 是否夏令时
)

Timestamp的备注

这里有一个小细节,就是时间戳都是基于标准时区的,和北京时间有8个小时的时差。 这个时差可以通过time.timezone获得,即标准时区和本地时区之间相差的秒数。 对于北京时间,这个值是-28800(8*3600)。 所以,当我们通过将时间戳对86400(一天的秒数)取模以获取从零点开始的秒数的时候, 将存在8个小时的差别。也就是说,

time.mktime(dateparser.parse('2014-09-01 09:00:00').timetuple()) % 86400

将输出3600, 与上午9点正好差了8个小时。

Python基本时间转换的更多相关文章

  1. Python常用时间转换

    1 import time 2 import math 3 4 # 定义一些时间段的常量(秒) 5 TimeSec_Hour = 3600 6 TimeSec_Day = 86400 7 TimeSe ...

  2. python 中英文时间转换

    上例子:time='Friday, November 18, 2016',将其转换为标准格式: time_format = datetime.datetime.strptime(time, '%A, ...

  3. python中时间格式

    问题:通过MySQLdb查询datetime字段,然后通过浏览器显示出来,得到的格式是:         'Thu, 19 Feb 2009 16:00:07 GMT'   (http呈现出来的格式) ...

  4. python中时间的转换和使用datetime

    模块 一个完整大型的python程序是由模块和包的形式组织起来的,可见模块在python中的重要性.模块是一种组织型式,它许多有关联(关系)的代码组织放到单独的独立文件中.简单的说,可以把模块理解为一 ...

  5. UTC,BJT时间转换-python

    #UTC,BJT Conversion.py #接收一个BJT时间 bjt = eval(input("输入时间")) #转换 utc = bjt + 2400 - 800 if ...

  6. python 时间转换相关

    最近需要操作时间的地方相当的多,包括打点,包括时间转换. 罗列最近遇到的两个需求. 1. 关于上篇文章写的base64上传图片的问题,我使用了打点来计算解码需要多少时间.这个对时间精度要求是比较高的. ...

  7. python 爬虫时间数据-时间格式转换

    1 import time,datetime 2 3 time_original = '17/Sep/2012:11:40:00' 4 time_format = datetime.datetime. ...

  8. Python 调用datetime或者time获取时间的时候以及时间转换,最好设置一下时区 否则会出现相差8个小时的情况

    在使用调用datetime或者time获取时间的时候以及时间转换,最好设置一下时区, 因为不同机器设置的时区不同,获取的时间可能就不对,正好我们使用的这两个服务器使用的都是东八区,所以没有问题,设置方 ...

  9. python: 基本的日期与时间转换

    需要执行简单的时间转换,比如天到秒,小时到分钟等的转换. 为了执行不同时间单位的转换和计算,请使用datetime 模块.比如,为了表示一个时间段,可以创建一个timedelta 实例,就像下面这样: ...

随机推荐

  1. 使用 Google Guava 美化你的 Java 代码

    文章转载自:http://my.oschina.net/leejun2005/blog/172328 目录:[ - ] 1-使用 GOOGLE COLLECTIONS,GUAVA,STATIC IMP ...

  2. Nginx安装注意事项

    因为nginx需要依赖pcre库.zlib库.openssl库,所以需要下载这三个库以及nginx源码.       下载以上文件到/usr/local/src/目录下     使用tar -zxvf ...

  3. GDB调试多线程

    先介绍一下GDB多线程调试的基本命令. info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID. 前面有*的是当前调试的线程. th ...

  4. 自定义view 画圆

    package com.exaple.day01rikao; import android.content.Context; import android.graphics.Canvas; impor ...

  5. dpkg用法详解

    dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理Debian的软件包. 下面是它的一些命令解释: 1)安装软件 命令行:dpkg -i <.deb file name ...

  6. HTTP中Get与Post的区别

    Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认 为:一个URL地址,它用于描述一个网络上的资源,而HTT ...

  7. Tomcat6性能优化

    1.内存设置      Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms256m -Xmx51 ...

  8. Spring中的事物管理,用 @Transactional 注解声明式地管理事务

    事物: 事务管理是企业级应用程序开发中必不可少的技术,  用来确保数据的 完整性和 一致性. 事务就是一系列的动作, 它们被当做一个单独的工作单元. 这些动作要么全部完成, 要么全部不起作用 事务的四 ...

  9. response.setContentType设置

    response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据.例如web浏览器就是通过MIM ...

  10. Android 对电话进行监听和挂断

    1.添加权限 <!--拨打电话的权限--><uses-permission android:name="android.permission.PROCESS_OUTGOIN ...