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之关于类的初步认识
Oct 11 Python
python使用Queue在多个子进程间交换数据的方法
Apr 18 Python
详解在Python和IPython中使用Docker
Apr 28 Python
python django 访问静态文件出现404或500错误
Jan 20 Python
详解python中的线程
Feb 10 Python
python+unittest+requests实现接口自动化的方法
Nov 29 Python
Python实现多属性排序的方法
Dec 05 Python
详解Python locals()的陷阱
Mar 26 Python
Python json模块与jsonpath模块区别详解
Mar 05 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
Apr 22 Python
Python应用自动化部署工具Fabric原理及使用解析
Nov 30 Python
python 视频下载神器(you-get)的具体使用
Jan 06 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中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
javascript 定义新对象方法
2010/02/20 Javascript
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
Bootstrap轮播插件简单使用方法介绍
2016/06/21 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
基于vue2.0实现的级联选择器
2017/06/09 Javascript
bootstrap fileinput实现文件上传功能
2017/08/23 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
JavaScript中this函数使用实例解析
2020/02/21 Javascript
[56:13]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第一场 1月10日
2021/03/11 DOTA
使用python获取csv文本的某行或某列数据的实例
2018/04/03 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
Python 利用argparse模块实现脚本命令行参数解析
2020/12/28 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
Linux如何命名文件--使用文件名时应注意
2012/01/22 面试题
四种会话跟踪技术
2015/05/20 面试题
心理咨询专业自荐信
2014/07/07 职场文书
情人节活动总结范文
2015/02/05 职场文书
死者家属慰问信
2015/03/24 职场文书
2015年法制宣传月活动总结
2015/03/26 职场文书
放假通知
2015/04/14 职场文书
朋友聚会开场白
2015/06/01 职场文书
领导新年致辞2016
2015/07/29 职场文书
先进基层党组织主要事迹材料
2015/11/03 职场文书
Lombok的详细使用及优缺点总结
2021/07/15 Java/Android