写一个str <=> seconds互转的函数

import datetime as dt
import time as tdef dt_str_to_second_since_1970(time_str,format ="%Y-%m-%d %H:%M:%S"):dt_time =dt.datetime.strptime(time_str,format)seconds = t.mktime(dt_time.timetuple())return secondsdef second_since_1970_to_str_dt(time_seconds,format="%Y-%m-%d %H:%M:%S"): dt_time = dt.datetime.fromtimestamp(time_seconds)str_time = dt.datetime.strftime(dt_time,format)return str_timedef second_since_1970_to_str_dt_v2(time_seconds,format="%Y-%m-%d %H:%M:%S"): return t.strftime(format, t.localtime(float(time_seconds)))

验算一下:

second_since_1970_to_str_dt(s1)
Out[81]: ‘2006-04-12 16:46:40’

s =‘2006-04-12 16:46:40’
dt_str_to_second_since_1970(s) Out[83]: 1144831600.0
seconds =dt_str_to_second_since_1970(s)
1144831600.0
second_since_1970_to_str_dt(seconds)
‘2006-04-12 16:46:40’

second_since_1970_to_str_dt_v2(seconds)
‘2006-04-12 16:46:40’

在秒转化成str时,这两种方法都是可以的。

再看一下性能测试:

%timeit second_since_1970_to_str_dt_v2(time_seconds)
4.58 µs ± 343 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

%timeit second_since_1970_to_str_dt(time_seconds)
5.9 µs ± 423 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

也就是说,v2版本的性能要更优一些。

但是当str=>seconds,换一种其它的写法:

def dt_str_to_second_since_1970_kill(time_str,format ="%Y-%m-%d %H:%M:%S"): dtime = dt.datetime.strptime(time_str,format)seconds =(dtime-dt.datetime(1970, 1,1,0, 0, 0,0)).total_seconds()return seconds

结果会如何?为什么会有差?相差了8个小时,是时间差的原因?

s2=dt_str_to_second_since_1970_v2(“2006-04-12 16:46:40”)
s2 Out[89]: 1144860400.0
s2-seconds Out[90]: 28800.0
28800.0/3600
8.0

Python: str、datetime、time、seconds相关推荐

  1. python str怎么用_python的str函数怎么使用

    str函数是Python的内置函数,它将参数转换成字符串类型,即人适合阅读的形式. 其语法格式为str(object) 返回值:返回object的字符串形式 Python学习网- 专业的python自 ...

  2. python 时间格式datetime、str与date的相互转换

    在写项目的时候经常会用到时间格式,以及它们之间的相互转化. 常用的日期数据格式datetime.datetime, str ,datetime.date 在使用的时候先导入datetime模块 fro ...

  3. python笔记-1(import导入、time/datetime/random/os/sys模块)

    python笔记-6(import导入.time/datetime/random/os/sys模块) 一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其它内 ...

  4. python笔记-6(import导入、time/datetime/random/os/sys模块)

    一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其它内容待日后有深入理解了再来细说 1.import可以导入的两种不同的内容 1.1 *.py文件结尾的文件 ...

  5. python模块--datetime时间加减、时间转时间戳、GMT时间格式转换

    1.时间模块加减乘除 import datetime # 获取datetime时间格式并将其转换成字符串 a = datetime.datetime.now().strftime("%Y-% ...

  6. python 时间格式 工作日_python使用time、datetime返回工作日列表实例代码

    最近在学习python,动手做了一个自动填写日报的小工具:由于请求中包含时间,格式如:2016-08-04:所以就了解了一下python的时间日期相关函数:这里做简单记录. 函数功能非常简单:获取当月 ...

  7. python模块初始与time、datetime及random

    模块初始 模块的概念(本质为一个py文件) python模块可以将代码量较大的程序分割成多个有组织的.彼此独立但又能互相交互的代码片段,这些自我包含的有组织 的代码段就是模块,模块在物理形式上表现为以 ...

  8. Python之路(第十六篇)xml模块、datetime模块

    一.xml模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单, xml比较早,早期许多软件都是用xml,至今很多传统公司如金融行业的很多系统的接口还主要 ...

  9. python批量导入MySQL的表头、扩展插入(datetime)类型主键

    python批量导入MySQL的表头 .扩展插入(datetime)类型主键 目标:1.在EXCEL中编辑table name.数据格式.数据类型和备注等信息,把excel中col_1列的值作为表头, ...

  10. 【转】python 字符编码与解码——unicode、str和中文:UnicodeDecodeError: 'ascii' codec can't decode...

    原文网址:http://blog.csdn.net/trochiluses/article/details/16825269 摘要:在进行python脚本的编写时,如果我们用python来处理网页数据 ...

最新文章

  1. react与jQuery对比,有空的时候再翻译一下
  2. C# 调用FLashPaper2(二)
  3. java 线程分组_Java多线程可以分组,还能这样玩!
  4. CV Papers|计算机视觉论文推荐周报20200504期
  5. HTML5中的source标签
  6. Android 悬浮窗日志工具
  7. 西门子实数转整数_西门子PLC字整数与双字整数之间的转换、双整数与实数之间的转换...
  8. 黑石董事长:我今生所有的经验,总结起来,不过这54条!
  9. 网站访问流程及原理分析
  10. Shiro的在Springboot中的使用
  11. 2020美赛赛后感想总结
  12. Day18 洛谷P1321 单词覆盖还原
  13. Android常用adb命令总结
  14. 什么是BSP? 概念解析
  15. 【优化求解】基于多策略黑猩猩优化算法求解单目标优化问题附matlab代码
  16. linux防火墙401,解决git clone时报错:The requested URL returned error: 401 Unauthorized while accessing...
  17. 计算机组成期末试题及答案,本科计算机组成080901期末试题(A卷)答案及评分标准...
  18. Python之父:python根本没有那么难,边玩边学
  19. 期货开户分享六大风险
  20. html如何绘制热图,推荐一个简单高效的图形化热图绘制工具

热门文章

  1. 链接了dpdk的进程启动core在 Illegal instruction
  2. Eigen教程(5)
  3. Ubuntu 14.04 安装 DevStack与遇到的的问题记录
  4. maven pom文件的一些自己的理解
  5. Master Reactor Manager Worker TaskWorker(Task)
  6. 并发编程: 生产消费模型、死锁与Rlock、线程、守护线程、信号量、锁
  7. python之sqlalchemy的使用
  8. 解决在编程方式下无法访问Spark Master问题
  9. 关于Java html table表格转excel
  10. ERP仓库管理系统查询(十)