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 当前全局变量和入口参数的所有属性
Jul 01 Python
Python数组条件过滤filter函数使用示例
Jul 22 Python
你应该知道的python列表去重方法
Jan 17 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
May 17 Python
Python实现自定义函数的5种常见形式分析
Jun 16 Python
浅析Python 引号、注释、字符串
Jul 25 Python
Python常用模块logging——日志输出功能(示例代码)
Nov 20 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
Feb 07 Python
树莓派升级python的具体步骤
Jul 05 Python
使用Python文件读写,自定义分隔符(custom delimiter)
Jul 05 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 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数组一对一替换实现代码
2012/08/31 PHP
PHP文件上传类实例详解
2016/04/08 PHP
php中类和对象:静态属性、静态方法
2017/04/09 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
php中try catch捕获异常实例详解
2020/08/06 PHP
理解Javascript_11_constructor实现原理
2010/10/18 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
2016/11/21 NodeJs
基于Three.js插件制作360度全景图
2016/11/29 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
vue.js之vue-cli脚手架的搭建详解
2017/05/05 Javascript
基于vue2.0实现的级联选择器
2017/06/09 Javascript
Angular将填入表单的数据渲染到表格的方法
2017/09/22 Javascript
vue使用laydate时间插件的方法
2018/11/14 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
2018/12/24 Javascript
详解使用mocha对webpack打包的项目进行"冒烟测试"的大致流程
2020/04/27 Javascript
JavaScript forEach中return失效问题解决方案
2020/06/01 Javascript
JS script脚本中async和defer区别详解
2020/06/24 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
python使用心得之获得github代码库列表
2014/06/25 Python
详解Python发送邮件实例
2016/01/10 Python
Python匹配中文的正则表达式
2016/05/11 Python
Python全栈之列表数据类型详解
2019/10/01 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
Django多数据库联用实现方法解析
2020/11/12 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
如何强制垃圾回收
2015/10/06 面试题
中药专业大学生医药工作求职信
2013/10/25 职场文书
管理失职检讨书
2014/02/12 职场文书
十佳中学生事迹材料
2014/06/02 职场文书
教师节倡议书
2014/08/30 职场文书
公务员考察材料
2014/12/23 职场文书
毕业论文答辩稿范文
2015/06/23 职场文书
MySQL创建管理RANGE分区
2022/04/13 MySQL