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的for和break循环结构中使用else语句的技巧
May 24 Python
Python中json格式数据的编码与解码方法详解
Jul 01 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
Jul 12 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
Aug 07 Python
python学生管理系统
Jan 30 Python
python实现顺时针打印矩阵
Mar 02 Python
用Python实现BP神经网络(附代码)
Jul 10 Python
python实现简单飞行棋
Feb 06 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
May 19 Python
Python偏函数实现原理及应用
Nov 20 Python
在python中对于bool布尔值的取反操作
Dec 11 Python
Python 线程池模块之多线程操作代码
May 20 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的魔术常量__METHOD__简介
2014/07/08 PHP
php内存缓存实现方法
2015/01/24 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
javascript form 验证函数 弹出对话框形式
2009/06/23 Javascript
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
js href的用法
2010/05/13 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
2014/01/09 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
作为老司机使用 React 总结的 11 个经验教训
2017/04/08 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
JavaScript设计模式之装饰者模式实例详解
2019/01/17 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
js cavans实现静态滚动弹幕
2020/05/21 Javascript
Python 基础知识之字符串处理
2017/01/06 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
python实现读Excel写入.txt的方法
2018/04/29 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
python数据化运营的重要意义
2019/11/25 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
毕业生的自我评价
2013/12/30 职场文书
法律专业应届生自荐信范文
2014/01/06 职场文书
单位领导证婚词
2014/01/14 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
个人自我剖析材料
2014/09/30 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
监理中标通知书
2015/04/16 职场文书
社区义诊通知
2015/04/24 职场文书
员工手册董事长致辞
2015/07/29 职场文书
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js