Python进行时间戳转换为标准时间
Python进行时间戳转换为标准时间
Python处理时间和时间戳的内置模块有time
和datetime
,本文主要使用time
模块进行处理
一.时间戳相关知识
时间戳根据位数的不同,其对应的精读也不同,具体分为:10位(秒级),13位(毫秒级),16位(微秒级),19位(纳秒级)。本文主要处理10位(秒级),13位(毫秒级)的时间戳的转换问题。
时间戳( timestamp )
简介:时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,是一个float类型
展示形式:
1597397024.765705
时间元祖( struct_time )
简介:共9个元素,时间戳和格式化时间转换的桥梁
展现形式:
time.struct_time(tm_year=2020, tm_mon=8, tm_mday=14, tm_hour=17, tm_min=23, tm_sec=44, tm_wday=4, tm_yday=227, tm_isdst=0)
其中具体每项的含义:
索引 属性 含义 0 tm_year 年 1 tm_mon 月 2 tm_mday 日 3 tm_hour 时 4 tm_min 分 5 tm_sec 秒 6 tm_wday 一周中的第几天 7 tm_yday 一年中的第几天 8 tm_isdst 夏令时 格式化时间 / 标准时间( format string )
- 简介:格式化时间,时间格式标准化,可读性强;包括自定义格式和固定格式
- 展现形式:
2020-08-14 17:37:03
时间格式转换图
time模块中与时间戳和时间相关的重要函数
time.time()
生成当前的时间戳,格式为10位整数的浮点数,其中在python中小数点后可精确到微秒,共计16位。a = time.time() print(a)1597398562.799617
time.strftime()
根据时间元组生成时间格式化字符串。print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))2020-08-14 17:51:38
time.strptime()
根据时间格式化字符串生成时间元组。time.strptime()
与time.strftime()
为互操作。print(time.strptime("2020-08-14 18:00:23","%Y-%m-%d %H:%M:%S"))time.struct_time(tm_year=2020, tm_mon=8, tm_mday=14, tm_hour=18, tm_min=0, tm_sec=23, tm_wday=4, tm_yday=227, tm_isdst=-1)
time.localtime()
根据时间戳生成当前时区的时间元组。b = time.localtime() print(b)time.struct_time(tm_year=2020, tm_mon=8, tm_mday=14, tm_hour=17, tm_min=51, tm_sec=38, tm_wday=4, tm_yday=227, tm_isdst=0)
time.mktime()
根据时间元组生成时间戳。print(time.mktime(time.localtime()))1597399027.0
时间日期格式化符号
%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 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
二.实验中进行的转换工作
主要工作是读取一个文件中的内容,将其中的16位的时间戳先进行截取得到13位的时间戳,之后通过转换函数,将13位的时间戳转换为秒级的标准格式的时间,之后将数据存入到MySQL数据库中
#coding=utf-8import re
import time
import pymysql# 输入毫秒级的时间,转出正常格式的时间
def timeStamp(timeNum):timeStamp = float(timeNum/1000)timeArray = time.localtime(timeStamp)otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)print (otherStyleTime)return otherStyleTimedef opData():global sessionidglobal plansessionidglobal activitynameglobal starttimestampglobal finishtimestampglobal executeplaceglobal sfstatusglobal falsereasonstartTime=0# 建立数据库连接db = pymysql.connect(host="localhost",port=3306,user="root",password="123456",database="service_l_20200701_backup",charset="utf8")# 获取游标对象cursor = db.cursor()# 插入数据语句# _copy2query = """insert into t_service_status_copy1 (session_id,plansession_id,activity_name,start_timestamp,finish_timestamp,execute_place,sf_status,false_reason) values (%s,%s,%s,%s,%s,%s,%s,%s) ON duplicate KEY UPDATE session_id = session_id"""with open('trace1.data',"r") as f:# data = f.readline()for fLine in f:startTime+=1;x=fLine.split('|')if(startTime < 10000):# print("data:")# print(data)# print("fLine:")# print(fLine)for i in range(len(x)):if i == 0:num0 = re.sub(r'\D', "", x[i])plansessionid = num0# x1[1].replace("a-zA-Z",x1[1])# print("x[0]:"+num0)elif i == 1 :temp=x[i][:-3]x2 = int(temp)time160 = timeStamp(x2)starttimestamp = time160# print("x[1]:" + time160)elif i == 2 :num2 = re.sub(r'\D', "", x[i])sessionid = num2# print("x[2]:" + num2)elif i == 3:num3 = re.sub(r'\D', "", x[i])# print("x[3]:" + num3)elif i == 4:# print("x1="+x[1])tempp1 = int(x[1])tempp2 = int(x[i])# print(tempp1)# print(tempp2)num4 = tempp1 + tempp2# print(num4)# num4 = int(x[1]) + int(x[i])strTonum4=str(num4)temp1 = strTonum4[:-3]# temp1 = int(x[1][:-3])mafan = int(temp1)time161 = timeStamp(mafan)finishtimestamp = time161# print("x[4]:" + time161)elif i == 5:activityname = x[i]# print("x[5]:"+x[i])elif i == 7:executeplace = x[i]# print("x[7]:"+x[i])elif i == 8:line = "http.status_code=200"m = x[i].find(line)if m == -1:sfstatus = "false"falsereason = x[i]else:sfstatus = "success"falsereason = ""# print(m)# print(sfstatus)else:print("x["+str(i)+"]:"+x[i])values = (int(sessionid),int(plansessionid),str(activityname),str(starttimestamp),str(finishtimestamp),str(executeplace),str(sfstatus),str(falsereason))cursor.execute(query, values)passprint(startTime)# 关闭游标,提交,关闭数据库连接# 如果没有这些关闭操作,执行后在数据库中查看不到数据cursor.close()db.commit()db.close()if __name__ == '__main__':opData()
本文参考的博客:
- python中的time模块相关参数
- python关于time几种格式处理方法总结
- Python之time模块的时间戳、时间字符串格式化与转换(13位时间戳)
- python 毫秒级时间,时间戳转换
- python学习记录14–给自己:python中time模块里的时间戳和格式化日期以及倒计时功能
- 在线时间转换工具
Python进行时间戳转换为标准时间相关推荐
- linux c时间戳转换,Android C/C++代码中将时间戳转换为标准时间
在Android 底层C/C++代码中如何将时间戳转换为标准时间? 这个问题实质上可以理解为C/C++中如何将Linux的时间戳转换为标准时间,那么接下来就这个问题进行分析和处理. 首先,要在C/C+ ...
- Python 将时间戳转换为本地时间并进行格式化
在python中,时间戳默认是为格林威治时间,而我们为东八区 使用localtime() 本地化时间戳 使用 strftime() 格式化时间戳 time = time.strftime('%Y%m% ...
- 每日一学:Python 将时间戳转换为指定格式日期
点击上方"CSDN精品课",选择"置顶公众号" 第一时间获取精品编程教程 Python 发布以来,出现过几次大的飞跃,如 2008 年 Python 3.0 的 ...
- 生信服务器 | Linux 时间戳和标准时间
在 Linux 系统中,有许多场合都使用时间戳的方式表示时间,即从1970年1月1日起至当前的天数或秒数.如/etc/shadow里的密码更改日期和失效日期,还有代理服务器的访问日志对访问时间的记录等 ...
- matlab实现unix时间戳到标准时间的转换
[注]给定时间精确到小时的情况下的转换 函数: function [ date ] = ConvertDate( x ) %将unix时间戳转换为标准时间 % date = datestr(14264 ...
- python将时间戳与年月日时分秒时间的互相转换
有时候我们会看到日期是167xxxxxxxx这种形式,这种形式我们通俗一点叫做时间戳,他可以进行转换为我们日常生活中所用的时间格式显示,demo如下: python将时间戳转换为年月日时分秒时间 im ...
- 关于时间格式的转换(时间戳转换为标准格式/标准格式转换为时间戳)
1.将标准时间格式转化为时间戳 getTimeStamp(str){var date = new Date(str);// 可以准确精确到毫秒var time1 = date.getTime(date ...
- python 将一串数字形式的时间转换为标准时间格式
@python 将一串数字形式的时间转换为标准时间格式!!! 1.首先,确定你的那一串时间是10位还是13位的, 如果是10位请看方案一,13位请看解决方案二. 方案一: 10位的数字表示的是秒时间戳 ...
- python中int转换为时间戳_python日期和时间戳互相转化操作详解
Python中日期格式化是非常常见的操作,Python 中能用很多方式处理日期和时间,转换日期格式是一个常见的功能.Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时 ...
- JS中时间戳(毫秒数)转换为标准时间日期
在前端中,有时候会用到时间戳参数,时间戳参数大多是new Date()形成的毫秒数 在某些情况下,需要还原时间戳表示的时间,也就是将毫秒数转换为标准时间格式的日期 // 假设timeStamp为时间戳 ...
最新文章
- leetcode算法题--最长等差数列★
- Java建造圆判断是否在园内_java – 查找一个圆圈是否在另一个圆圈内
- 在git下搭建个人博客
- django mysql内存泄漏_Django的:使内存的关系,而不保存到数据库
- 人工智能之基于face_recognition的人脸检测与识别
- api 数据gzip压缩_如何使用GZip和Jersey压缩Java REST API中的响应
- 论文浅尝 | Rot-Pro:通过知识图谱嵌入中的投影建模关系的传递性
- ajax调用java程序,从微信小程序到鸿蒙JS开发-JS调用Java
- 每天学一点flash(75) ToolTip 提示
- 4.3.3 用jQuery获取动态数据
- MTK 驱动(67)---深入MTK平台bootloader启动之【 lk -amp;gt; kernel】分析笔记
- python动态人脸识别_python3.8动态人脸识别
- 在MOSS2007中使用收集反馈工作流
- Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:jar
- java end_Java Matcher end()用法及代码示例
- 房地产企业项目管理的特点与目标
- Git快速入门篇—— Windows版本淘宝镜像快速下载安装详细步骤及简单入门教程(附带图文教程)
- 删除 linux的ln文件夹,linux下添加链接与删除链接(ln命令的用法)
- LaTeX--简易教程--论文写作神器
- 卢沟桥对于古代北京的作用
热门文章
- Ceres-Solver使用指南
- 云计算数据中心运维管理的五大重点
- 【自勉-向后端架构师/音视频架构师出发】我的目标是星辰大海(4月)
- 聚沙成塔的分布式云存储
- python语言由psf组织所有、这是一个商业组织_智慧职教云课堂APP店长实务答案搜题公众号...
- laravel:如何快速实现数据填充,创建模拟数据(使用seeder)
- JAVA核心知识点--元注解详解
- Hutool学习 —— 设置文件-Setting
- Python 错误 RuntimeError: CUDA error (10): invalid device ordinal
- 如何用微信公众号二维码事件做扫码登陆