Python基本时间转换

时间转换

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个小时。

时间: 2024-07-29 13:28:37

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

python中时间格式

问题:通过MySQLdb查询datetime字段,然后通过浏览器显示出来,得到的格式是:         'Thu, 19 Feb 2009 16:00:07 GMT'   (http呈现出来的格式)         可是,我需要的格式是:         '2009-02-19 16:00:07' 答案:经过研究发现,MySQLdb查询datetime字段得到的形式是由类型的,即datetime类型:       datetime.datetime(2009, 2, 19, 16, 0, 7)

Python的UTC时间转换

UTC时间转换,最终得到的都是UTC时间. 简单来说就是: 时间戳(timestamp) 转换-> UTC显示时间(datetime),使用time.gmtime(timestamp). 显示时间(datetime) 转换-> UTC时间戳(timestamp),使用calendar.timegm(datetime.timetuple()). 注意: VC下相应的接口是gmtime和_mkgmtime. 代码: # -*- coding: gb2312 -*- # UTC时间转换,最终得到的都

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

在使用调用datetime或者time获取时间的时候以及时间转换,最好设置一下时区, 因为不同机器设置的时区不同,获取的时间可能就不对,正好我们使用的这两个服务器使用的都是东八区,所以没有问题,设置方法如下: import pytz tz = pytz.timezone('Asia/Shanghai') datetime.datetime.fromtimestamp(1537431607,tz).strftime('%Y-%m-%d %H:%m:%s') 原文地址:https://www.cnb

python模块--时间模块

一.python中时间介绍: python中时间的表示形式有两种: 1.时间戳表示法,即以整型或浮点型表示的是一个以秒为单位的时间间隔.这个时间的基础值是从1970年的1月1号零点开始算起. 2.元组格式表示法,即一种Python的数据结构表示.这个元组有9个整型内容.分别表示不同的时间含义. 二.datetime模块 2.1 datetime模块的所有函数 In [2]: dir(datetime) Out[2]:  ['MAXYEAR',  'MINYEAR',  '__doc__',  '

python之时间模块time & datetime & calendar

一. 简介 python 提供很多方式处理日期与时间,转换日期格式是一个常见的功能. 时间元组:很多python函数用一个元组装起来的9组数字处理时间. python中时间日期格式化符号: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %a 本地简化星期名称 %A 本地完整星期名

python对时间日期做格式化

python对时间日期做格式化 >>> import datetime >>> dir(datetime) ['MAXYEAR', 'MINYEAR', '__doc__', '__file__', '__name__', '__package__', 'date', 'datetime', 'datetime_CAPI', 'time', 'timedelta', 'tzinfo'] >>> datetime.datetime.now() datet

妙用python之编码转换

转自i春秋 文章难易度:★★ 知识点:python.编码转换 前 言 在日常渗透,漏洞挖掘,甚至是CTF比赛中,会遇到各种编码,常常伴随着这些编码之间的各种转换.记得刚入门那个时候,自己处理编码转换问题往往是"百度:url解码.base64加密.hex--",或者是使用一款叫做"小葵多功能转换工具"的软件,再后来直接上Burpsuite的decoder功能,感觉用的还挺好的.不过,也遇到些问题:在线转换效率低(搜索占去了2/3的时间).两款工具存在一些小问题,比如b

python time 时间模块

time():获取当前系统的时间戳ctime():以人类可读的方式打印当前系统时间sleep():接受一个参数,表示休眠时间 1 #!/usr/bin/env python 2 #coding:utf8 3 import time 4 print time.time() 5 print time.ctime() 6 time.sleep(5) 7 print time.ctime() 8 9 输出结果: 10 1405706231.52 11 Sat Jul 19 01:57:11 2014 1

Python常用时间模块讲解

一.常用的时间格式1.时间戳格式,例如:t = 1523197272.9467547(s),单位为秒:2.结构化时间格式,例如:t=time.struct_time(tm_year=2018,tm_mon=4,tm_mday=8,tm_hour=22,tm_min=22,tm_sec=4,tm_wday=6,tm_yday=98, tm_isdst=0),里面包含年.月.日.时.分.秒.星期几(0表示周一)等:因此,可以随意取出想要的值,如下图:其实,time.localtime()是以time