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 相关文章推荐
一个基于flask的web应用诞生 用户注册功能开发(5)
Apr 11 Python
python 删除大文件中的某一行(最有效率的方法)
Aug 19 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 Python
python解决字符串倒序输出的问题
Jun 25 Python
Python WSGI的深入理解
Aug 01 Python
python实现Zabbix-API监控
Sep 17 Python
面向初学者的Python编辑器Mu
Oct 08 Python
pycharm new project变成灰色的解决方法
Jun 27 Python
Python性能分析工具Profile使用实例
Nov 19 Python
python打开文件的方式有哪些
Jun 29 Python
Python+Kepler.gl实现时间轮播地图过程解析
Jul 20 Python
利用python绘制中国地图(含省界、河流等)
Sep 21 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
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
PHP图片库imagemagick安装方法
2014/09/23 PHP
PHP、Python和Javascript的装饰器模式对比
2015/02/03 PHP
PHP安全上传图片的方法
2015/03/21 PHP
微信公众号模板消息群发php代码示例
2016/12/29 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
多浏览器兼容性比较好的复制到剪贴板的js代码
2011/10/09 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
2013/12/25 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
jQuery实现仿Google首页拖动效果的方法
2015/05/04 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
微信小程序 wxapp地图 map详解
2016/10/31 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
2017/08/17 Javascript
关于vue-router的beforeEach无限循环的问题解决
2017/09/09 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
Vue3.0 响应式系统源码逐行分析讲解
2019/10/14 Javascript
小程序使用wxs解决wxml保留2位小数问题
2019/12/13 Javascript
Element Notification通知的实现示例
2020/07/27 Javascript
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
python与idea的集成的实现
2020/11/20 Python
HTML5实现预览本地图片
2016/02/17 HTML / CSS
雅诗兰黛美国官网:Estee Lauder美国
2016/07/21 全球购物
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
应届生学校辅导员求职信
2013/11/07 职场文书
总经理秘书的岗位职责
2013/12/27 职场文书
劳动模范事迹材料
2014/01/19 职场文书
爱我中华演讲稿
2014/05/20 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
导游词之南京栖霞山
2019/10/18 职场文书
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers