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使用xlrd实现检索excel中某列含有指定字符串记录的方法
May 09 Python
Python实现的密码强度检测器示例
Aug 23 Python
Python中int()函数的用法浅析
Oct 17 Python
python中requests和https使用简单示例
Jan 18 Python
Python用for循环实现九九乘法表
May 31 Python
Python subprocess模块常见用法分析
Jun 12 Python
使用TensorFlow实现SVM
Sep 06 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
Jan 15 Python
python设计tcp数据包协议类的例子
Jul 23 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
Apr 09 Python
python字符串的index和find的区别详解
Jun 20 Python
PyQT5速成教程之Qt Designer介绍与入门
Nov 02 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
javascript,php获取函数参数对象的代码
2011/02/03 PHP
Laravel框架数据库迁移操作实例详解
2020/04/06 PHP
js身份证验证超强脚本
2008/10/26 Javascript
js URL参数的拼接方法比较
2012/02/15 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
用js传递value默认值的示例代码
2014/09/11 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
2015/07/27 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
Vue组件开发技巧总结
2018/03/04 Javascript
MVVM 双向绑定的实现代码
2018/06/21 Javascript
vue项目如何监听localStorage或sessionStorage的变化
2021/01/04 Vue.js
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Django中Model的使用方法教程
2018/03/07 Python
对TensorFlow中的variables_to_restore函数详解
2018/07/30 Python
使用tensorflow实现线性svm
2018/09/07 Python
Django+JS 实现点击头像即可更改头像的方法示例
2018/12/26 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
python实现定时压缩指定文件夹发送邮件
2020/12/22 Python
Django框架封装外部函数示例
2019/05/28 Python
Anaconda使用IDLE的实现示例
2020/09/23 Python
美国著名珠宝品牌之一:Jared The Galleria Of Jewelry
2016/10/01 全球购物
国培远程培训感言
2014/03/08 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
租车协议书范本
2014/04/22 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
中小学生学籍证明
2014/10/25 职场文书
六五普法先进个人主要事迹材料
2015/11/03 职场文书
优秀党员主要事迹范文
2015/11/05 职场文书
创业计划书之校园超市
2019/09/12 职场文书
写给医护人员的一封感谢信
2019/09/16 职场文书
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js