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 回调函数和回调方法的实现分析
Mar 23 Python
利用numpy+matplotlib绘图的基本操作教程
May 03 Python
Python基于tkinter模块实现的改名小工具示例
Jul 27 Python
Flask框架Jinjia模板常用语法总结
Jul 19 Python
Python抽象和自定义类定义与用法示例
Aug 23 Python
pycharm 批量修改变量名称的方法
Aug 01 Python
Flask框架钩子函数功能与用法分析
Aug 02 Python
Python内置方法实现字符串的秘钥加解密(推荐)
Dec 09 Python
Django之全局使用request.user.username的实例详解
May 14 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
Jun 29 Python
python3从网络摄像机解析mjpeg http流的示例
Nov 13 Python
如何用Python徒手写线性回归
Jan 25 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表单转换textarea换行符的方法
2010/09/10 PHP
日常整理PHP中简单的图形处理(经典)
2015/10/26 PHP
Yii2实现UploadedFile上传文件示例
2017/02/15 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
JAVASCRIPT IE 与 FF中兼容问题小结
2009/02/18 Javascript
利用了jquery的ajax实现二级联互动菜单
2013/12/02 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
使用clipboard.js实现复制功能的示例代码
2017/10/16 Javascript
解决vue 路由变化页面数据不刷新的问题
2018/03/13 Javascript
mint-ui在vue中的使用示例
2018/04/05 Javascript
浅析Vue.js 中的条件渲染指令
2018/11/19 Javascript
微信小程序实现页面浮动导航
2019/01/28 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
[01:00:59]VP VS VG Supermajor小组赛胜者组第二轮 BO3第二场 6.2
2018/06/03 DOTA
Python中MySQL数据迁移到MongoDB脚本的方法
2016/04/28 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
2016/05/05 Python
python中的格式化输出用法总结
2016/07/28 Python
Python Subprocess模块原理及实例
2019/08/26 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
Python requests模块session代码实例
2020/04/14 Python
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
小学三年级数学教学反思
2014/01/31 职场文书
物控部经理职务说明书
2014/02/25 职场文书
汽车技术服务与贸易专业求职信
2014/07/20 职场文书
2015年度物业公司工作总结
2015/04/27 职场文书
大国崛起观后感
2015/06/02 职场文书
导游词之南京栖霞山
2019/10/18 职场文书
导游词之凤凰古城
2019/10/22 职场文书
MySQL数据库Innodb 引擎实现mvcc锁
2022/05/06 MySQL
python区块链持久化和命令行接口实现简版
2022/05/25 Python