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 相关文章推荐
kNN算法python实现和简单数字识别的方法
Nov 18 Python
Python for Informatics 第11章之正则表达式(二)
Apr 21 Python
Python基础中所出现的异常报错总结
Nov 19 Python
python 获取页面表格数据存放到csv中的方法
Dec 26 Python
python读取几个G的csv文件方法
Jan 07 Python
Django项目中实现使用qq第三方登录功能
Aug 13 Python
简单易懂Pytorch实战实例VGG深度网络
Aug 27 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
Feb 17 Python
Python求解排列中的逆序数个数实例
May 03 Python
python+django+selenium搭建简易自动化测试
Aug 19 Python
关于探究python中sys.argv时遇到的问题详解
Feb 23 Python
Python使用socket去实现TCP客户端和TCP服务端
Apr 12 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中文版(1)
2006/10/09 PHP
用PHP制作静态网站的模板框架(一)
2006/10/09 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
xml 与javascript结合的问题解决方法
2007/03/24 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
2015/09/10 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
微信小程序 页面跳转传递值几种方法详解
2017/01/12 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
2017/04/13 Javascript
Angular在模板驱动表单中自定义校验器的方法
2017/08/09 Javascript
jquery操作select常见方法大全【7种情况】
2019/05/28 jQuery
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
Python随机生成数模块random使用实例
2015/04/13 Python
解析Python编程中的包结构
2015/10/25 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
利用Python破解斗地主残局详解
2017/06/30 Python
使用Turtle画正螺旋线的方法
2017/09/22 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
Python 学习教程之networkx
2019/04/15 Python
python爬虫之爬取百度音乐的实现方法
2019/08/24 Python
使用Matplotlib 绘制精美的数学图形例子
2019/12/13 Python
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
毕业生个人求职的自我评价
2013/10/28 职场文书
中专毕业生自荐信
2013/11/16 职场文书
2014自荐信的写作技巧
2014/01/28 职场文书
《石榴》教学反思
2014/03/02 职场文书
国际语言毕业生求职信
2014/07/08 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
python实现的web监控系统
2021/04/27 Python
python 如何做一个识别率百分百的OCR
2021/05/29 Python
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
2021/11/11 HTML / CSS
python保存图片的四个常用方法
2022/02/28 Python
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android
Go语言编译原理之源码调试
2022/08/05 Golang