Python基础学习之时间转换函数用法详解


Posted in Python onJune 18, 2019

本文实例讲述了Python基础学习之时间转换函数用法。分享给大家供大家参考,具体如下:

前言

python的时间格式分为多种,几种格式之间的转换方法时常是我们遇到的而且是经常忘记的点,python不像php,时间字符串和datetime是一起的,只需要strtotime和date函数就可以相互转化。虽然网上已经有很多python时间转换的文章,但是由于作者本人经常做海外业务,需要各种时区之间的转换,所以这篇文章会对按时区转换各种时间格式做一个总结。

转换方法图示(图片转自网络):

Python基础学习之时间转换函数用法详解

一、字符串转时间戳

1、默认:

import time
def time_str_to_timestamp(string_time, _format="%Y-%m-%d %H:%M:%S"):
  return int(time.mktime(time.strptime(string_time, _format)))

2、按时区转:

import time
import datetime
from pytz import timezone as tz
def time_str_to_timestamp_by_timezone(string_time, _format="%Y-%m-%d %H:%M:%S”, from_tz=“UTC”, to_tz="America/Los_Angeles"):
  from_tz = tz(from_tz)
  to_tz = tz(to_tz)
  return int(time.mktime(
    datetime.datetime.strptime(string_time, _format).replace(
      tzinfo=from_tz).astimezone(to_tz).timetuple()))

二、时间戳转字符串

1、默认:

import time
def timestamp_to_str(timestamp, _format="%Y-%m-%d %H:%M:%S"):
  return time.strftime(_format, time.localtime(timestamp))

2、按时区转:

import datetime
from pytz import timezone as tz
def timestamp_to_str_by_timezone(timestamp, _format="%Y-%m-%d %H:%M:%S”, to_tz="America/Los_Angeles"):
  to_tz = tz(to_tz)
  return str(datetime.datetime.fromtimestamp(timestamp, to_tz).strftime(_format))

三、字符串转datetime

1、默认:

import datetime
def datetime_str_to_datetime(string_time, _format="%Y-%m-%d %H:%M:%S"):
  return datetime.datetime.strptime(string_time, _format)

2、按时区转:

import datetime
from pytz import timezone as tz
def datetime_str_to_datetime_by_timezone(string_time, from_tz=“UTC”, to_tz="America/Los_Angeles”, _format="%Y-%m-%d %H:%M:%S",):
  from_tz = tz(from_tz)
  to_tz = tz(to_tz)
  return datetime.datetime.strptime(string_time, _format).replace(
        tzinfo=from_tz).astimezone(to_tz)

四、datetime转字符串

1、默认:

import datetime
def datetime_to_datetime_str(date, _format="%Y-%m-%d %H:%M:%S"):
  return date.strftime(_format)

2、按时区转:

import datetime
from pytz import timezone as tz
def datetime_to_datetime_str_by_timezone(date, from_tz=“UTC”, to_tz="America/Los_Angeles”, _format="%Y-%m-%d %H:%M:%S"):
  from_tz = tz(from_tz)
  to_tz = tz(to_tz)
  date = date.replace(tzinfo=from_tz).astimezone(to_tz)
  return date.strftime(_format)

五、datetime转时间戳

1、默认:

import time
def datetime_to_timestamp(date):
  return int(time.mktime(date.timetuple()))

2、按时区转:

import time
from pytz import timezone as tz
def datetime_to_timestamp_by_timezone(date, from_tz=“UTC”, to_tz="America/Los_Angeles"):
  from_tz = tz(from_tz)
  to_tz = tz(to_tz)
  return int(time.mktime(date.replace(
      tzinfo=from_tz).astimezone(to_tz).timetuple()))

六、时间戳转datetime

1、默认:

import datetime
def timestamp_to_datetime(time_stamp):
  return datetime.datetime.fromtimestamp(time_stamp)

2、按时区转:

import datetime
from pytz import timezone as tz
def timestamp_to_datetime_by_timezone(time_stamp, to_tz="America/Los_Angeles"):
  to_tz = tz(to_tz)
  return datetime.datetime.fromtimestamp(time_stamp, to_tz)

PS:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:

在线日期/天数计算器:
http://tools.3water.com/jisuanqi/date_jisuanqi

在线万年历日历:
http://tools.3water.com/bianmin/wannianli

在线阴历/阳历转换工具:
http://tools.3water.com/bianmin/yinli2yangli

Unix时间戳(timestamp)转换工具:
http://tools.3water.com/code/unixtime

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python递归遍历列表及输出的实现方法
May 19 Python
python实现SMTP邮件发送功能
Jun 16 Python
遍历python字典几种方法总结(推荐)
Sep 11 Python
解决uWSGI的编码问题详解
Mar 24 Python
windows下Virtualenvwrapper安装教程
Dec 13 Python
python实现两个文件夹的同步
Aug 29 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
Jan 13 Python
使用遗传算法求二元函数的最小值
Feb 11 Python
从python读取sql的实例方法
Jul 21 Python
python实现图片转换成素描和漫画格式
Aug 19 Python
教你如何用python操作摄像头以及对视频流的处理
Oct 12 Python
python 镜像环境搭建总结
Sep 23 Python
python实现简单五子棋游戏
Jun 18 #Python
Python基础学习之函数方法实例详解
Jun 18 #Python
pyqt5 实现在别的窗口弹出进度条
Jun 18 #Python
Python弹出输入框并获取输入值的实例
Jun 18 #Python
python使用tkinter库实现五子棋游戏
Jun 18 #Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
Jun 18 #Python
python 弹窗提示警告框MessageBox的实例
Jun 18 #Python
You might like
苏联队长,苏联超人蝙蝠侠,这些登场的“山寨”英雄真的很严肃
2020/04/09 欧美动漫
php实现插入数组但不影响原有顺序的方法
2015/03/27 PHP
php函数连续调用实例分析
2015/07/30 PHP
WordPress迁移时一些常见问题的解决方法整理
2015/11/24 PHP
PHP通过反射动态加载第三方类和获得类源码的实例
2015/11/27 PHP
JQuery AJAX提交中文乱码的解决方案
2010/07/02 Javascript
jquery getScript动态加载JS方法改进详解
2012/11/15 Javascript
JavaScript获取onclick、onchange等事件值的代码
2013/07/22 Javascript
选择器中含有空格在使用示例及注意事项
2013/07/31 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
jQuery遍历json中多个map的方法
2015/02/12 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
文件上传,iframe跨域数据提交的实现
2016/11/18 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
jqgrid实现简单的单行编辑功能
2017/09/30 Javascript
webpack 4.0.0-beta.0版本新特性介绍
2018/02/10 Javascript
Vue-component全局注册实例
2018/09/06 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
2020/11/09 Javascript
Python RuntimeError: thread.__init__() not called解决方法
2015/04/28 Python
Python Unittest自动化单元测试框架详解
2018/04/04 Python
对pandas将dataframe中某列按照条件赋值的实例讲解
2018/11/29 Python
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
美国领先的眼镜和太阳镜在线零售商:Glasses.com
2019/08/26 全球购物
铭立家具面试题
2012/12/06 面试题
演讲稿怎么写
2014/01/07 职场文书
会计出纳员的自我评价
2014/01/15 职场文书
公司门卫岗位职责范本
2014/07/08 职场文书
关于读书的演讲稿600字
2014/08/27 职场文书
忠诚教育心得体会
2014/09/03 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
《西游记》读后感(3篇)
2019/09/20 职场文书
vue中div禁止点击事件的实现
2022/04/02 Vue.js
Spring Boot 的创建和运行示例代码详解
2022/07/23 Java/Android