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多线程编程方式分析示例详解
Dec 06 Python
Python中input和raw_input的一点区别
Oct 21 Python
python字符类型的一些方法小结
May 16 Python
python 调用c语言函数的方法
Sep 29 Python
python smtplib发送带附件邮件小程序
May 22 Python
Django 静态文件配置过程详解
Jul 23 Python
selenium 多窗口切换的实现(windows)
Jan 18 Python
Python通过Pillow实现图片对比
Apr 29 Python
python实现录音功能(可随时停止录音)
Oct 26 Python
pymongo insert_many 批量插入的实例
Dec 05 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
Dec 27 Python
如何使用Tkinter进行窗口的管理与设置
Jun 30 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.ini不生效问题解决方法(上传大于8M的文件)
2013/06/14 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
PHP反向代理类代码
2014/08/15 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
php操作redis缓存方法分享
2015/06/03 PHP
Joomla语言翻译类Jtext用法分析
2016/05/05 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
2017/03/01 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
2020/04/26 PHP
JavaScript之编码规范 推荐
2012/05/23 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
2016/06/03 Javascript
Bootstrap 源代码分析(未完待续)
2016/08/17 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
JS实现倒计时图文效果
2018/11/17 Javascript
浅谈vue单页面中有多个echarts图表时的公用代码写法
2020/07/19 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
python中set()函数简介及实例解析
2018/01/09 Python
Django实现组合搜索的方法示例
2018/01/23 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
2018/07/17 Python
python分布式编程实现过程解析
2019/11/08 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
公共事业管理本科生求职信
2013/10/07 职场文书
公务员转正考察材料
2014/02/07 职场文书
十八届三中全会报告学习材料
2014/02/17 职场文书
优秀经理获奖感言
2014/03/04 职场文书
物理系毕业生自荐书
2014/06/13 职场文书
出纳岗位职责
2015/01/31 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
千与千寻观后感
2015/06/04 职场文书
催款函范文
2015/06/24 职场文书
浅谈Python数学建模之线性规划
2021/06/23 Python
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL