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逐行读写txt文件的实例讲解
Apr 03 Python
好的Python培训机构应该具备哪些条件
May 23 Python
pygame游戏之旅 添加游戏界面按键图形
Nov 20 Python
python 监听salt job状态,并任务数据推送到redis中的方法
Jan 14 Python
详解Python匿名函数(lambda函数)
Apr 19 Python
Python3实现配置文件差异对比脚本
Nov 18 Python
django 模型中的计算字段实例
May 19 Python
django中related_name的用法说明
May 20 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
May 29 Python
python opencv实现简易画图板
Aug 27 Python
python 基于selenium实现鼠标拖拽功能
Dec 24 Python
Python可视化神器pyecharts之绘制地理图表练习
Jul 07 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实现MD5加密16位(不要默认的32位)
2013/08/12 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
PHP常用处理静态操作类
2015/04/03 PHP
php项目中百度 UEditor 简单安装调试和调用
2015/07/15 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
图片自动更新(说明)
2006/10/02 Javascript
Javascript客户端将指定区域导出到Word、Excel的代码
2008/10/22 Javascript
js 面向对象的技术创建高级 Web 应用程序
2010/02/25 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
js 动态修改css文件的方法
2014/08/05 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
jQuery ajax serialize() 方法使用示例
2014/11/02 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
vue2+el-menu实现路由跳转及当前项的设置方法实例
2017/11/07 Javascript
利用Python爬取可用的代理IP
2016/08/18 Python
Python定义二叉树及4种遍历方法实例详解
2018/07/05 Python
Python中求对数方法总结
2020/03/10 Python
python之语音识别speech模块
2020/09/09 Python
浅谈Html5页面打开app的一些思考
2020/03/30 HTML / CSS
澳大利亚制造的蜡烛和扩散器:Glasshouse Fragrances
2018/05/20 全球购物
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
什么是URL
2015/12/13 面试题
中层干部岗位职责
2013/12/18 职场文书
法律进学校实施方案
2014/03/15 职场文书
个人买房协议书范本
2014/10/06 职场文书
入党积极分子对十八届四中全会期盼的思想汇报
2014/10/17 职场文书
出国留学英文自荐信
2015/03/25 职场文书
红色革命电影观后感
2015/06/18 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书
Vue通过懒加载提升页面响应速度
2021/05/10 Vue.js