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脚本自动生成需要文件实例代码
Feb 04 Python
Python进阶_关于命名空间与作用域(详解)
May 29 Python
python 中的divmod数字处理函数浅析
Oct 17 Python
让Python更加充分的使用Sqlite3
Dec 11 Python
Django开发中的日志输出的方法
Jul 02 Python
python os.fork() 循环输出方法
Aug 08 Python
python使用sessions模拟登录淘宝的方式
Aug 16 Python
Python中的四种交换数值的方法解析
Nov 18 Python
Python OpenCV视频截取并保存实现代码
Nov 30 Python
Matplotlib使用字符串代替变量绘制散点图的方法
Feb 17 Python
Python3自定义json逐层解析器代码
May 11 Python
python利用os模块编写文件复制功能——copy()函数用法
Jul 13 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
PHP 高手之路(二)
2006/10/09 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
PHP使用redis实现统计缓存mysql压力的方法
2015/11/14 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
Nodejs的express使用教程
2015/11/23 NodeJs
Hammer.js+轮播原理实现简洁的滑屏功能
2016/02/02 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
js实现省份下拉菜单效果
2017/02/15 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
vue-swiper的使用教程
2018/08/30 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
如何阻止移动端浏览器点击图片浏览
2020/08/29 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
Windows下搭建python开发环境详细步骤
2020/07/20 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
django中的HTML控件及参数传递方法
2018/03/20 Python
tensorflow 输出权重到csv或txt的实例
2018/06/14 Python
python版大富翁源代码分享
2018/11/19 Python
python简单实现AES加密和解密
2019/03/28 Python
django创建最简单HTML页面跳转方法
2019/08/16 Python
python进行二次方程式计算的实例讲解
2020/12/06 Python
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
四种会话跟踪技术
2015/05/20 面试题
幼儿园数学教学反思
2014/02/02 职场文书
在校实习生求职信
2014/06/18 职场文书
2014年预算员工作总结
2014/12/05 职场文书
高考作弊检讨书1500字
2015/02/16 职场文书
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript