本文实例讲述了Python基础学习之时间转换函数用法。分享给大家供大家参考,具体如下:

前言

python的时间格式分为多种,几种格式之间的转换方法时常是我们遇到的而且是经常忘记的点,python不像php,时间字符串和datetime是一起的,只需要strtotime和date函数就可以相互转化。虽然网上已经有很多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:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:

希望本文所述对大家Python程序设计有所帮助。

python转换函数使用_Python基础学习之时间转换函数用法详解相关推荐

  1. python 内存分析工具_python内存监控工具memory_profiler和guppy的用法详解

    python2.7在内存管理上相比python3还是有些坑的,其释放后的内存仍然保留在python的内存池中,不被系统所用.python循环引用的变量不会被回收,这会导致程序越运行,占用的内存越大.我 ...

  2. python实战经典例子_Python基础之列表常见操作经典实例详解

    本文实例讲述了Python基础之列表常见操作.分享给大家供大家参考,具体如下: Python中的列表操作 列表是Python中使用最频繁的数据类型[可以说没有之一] 一组有序项目的集合 可变的数据类型 ...

  3. python内存池_python内存监控工具memory_profiler和guppy的用法详解

    python内存监控工具memory_profiler和guppy的用法详解 发布时间:2020-08-21 19:44:58 来源:脚本之家 阅读:123 python2.7在内存管理上相比pyth ...

  4. linux getline函数用法,Linux文本处理三剑客之awk学习笔记05:getline用法详解

    getline用法详解 在默认情况下,awk支持从文件或者STDIN中读取数据.我们也可以使用getline来灵活读取数据,例如在main代码块执行过程中读取某个非待处理文件的数据,或者从某个读取某个 ...

  5. python dataframe index loc_基于DataFrame筛选数据与loc的用法详解

    DataFrame筛选数据与loc用法 python中pandas下的DataFrame是一个很不错的数据结构,附带了许多操作.运算.统计等功能. 如何从一个DataFrame中筛选中出一个元素呢. ...

  6. python exit()什么意思_Python基础学习教程:如何用Python来写pm2.5空气质量查询程序...

    今天就教大家用之前有跟大家分享过的python基础学习教程完成首个MVP,如何用CLI(command-line interface,命令行界面)来执行第一个空气质量查询程序. 知识点 如何进行txt ...

  7. python布尔表达式怎么写_Python基础学习之布尔表达式

    在Python编程的学习中,布尔逻辑可以说是无处不在.布尔表达式是计算机运算的基础和重要组成部分,掌握它们就跟学音乐要掌握音阶一样有必要.今天本文将带大家一起来学习布尔表达式,主要内容有布尔表达式的概 ...

  8. python数值类型教程_Python数值类型 int、float、complex 详解

    Python数值类型 int.float.complex 详解 Python数值类型:int.float.complex 在Python程序中,int.float和complex是三种十分重要的数值类 ...

  9. python动态图表变化_Python数据可视化 pyecharts实现各种统计图表过程详解

    Python数据可视化 pyecharts实现各种统计图表过程详解 发布时间:2020-09-10 04:53:26 来源:脚本之家 阅读:78 1.pyecharts介绍 Echarts是一款由百度 ...

  10. python中类的构成_Python中类型关系和继承关系实例详解

    本文详细介绍了Python中类型关系和继承关系.分享给大家供大家参考.具体分析如下: 如果一个对象A持有另一个对象B的ID,那么检索到A之后就可以检索到B,我们就说存在一个A到B的导航.这种导航关系使 ...

最新文章

  1. MyBatis 3在XML文件中处理大于号小于号()的方法(转)
  2. 转: jdbc连接数据库需要注意和出错的地方
  3. WebService的基本概念:java webservice,什么是webservice
  4. Delphi用指针读取数组某个元素
  5. Oracle 学习笔记(Windows 环境下安装 + PL/SQL)
  6. DRL前沿之:Benchmarking Deep Reinforcement Learning for Continuous Control
  7. VB调用周立功CAN接口卡接口库函数
  8. win10解压安装mysql缺少MSVCR120.dll文件的问题
  9. 【原创】《华杉讲透《孙子兵法》》阅读有感(三)
  10. 费马小定理 欧拉定理 逆元
  11. Vue watch 监听复杂对象变化,oldvalue 和 newValue 一致的解决办法。
  12. 充电桩通过WiFi付费和管理方案
  13. Qt例子学习笔记 - Examples/Qt-6.2.0/charts/callout
  14. HDU1255 覆盖的面积 (线段树 + 扫描线)
  15. 全新剪映专业版140内测版!等你体验!
  16. php输出圆周率100位,圆周率1500多位
  17. Python的编码解码
  18. 强化学习之——表格式Agent实现
  19. java 设计一个动物声音“模拟器”
  20. android Telephony学习 --- 第九篇 USSD简介

热门文章

  1. 微信小程序文本溢出的处理方法
  2. Android图片的三级缓存整理
  3. CentOS7-下搭建Maven私服Nexus环境
  4. 软考笔记(数据结构篇)———— 二叉树、树、森林转换
  5. C# 解密微信步数 报错“填充无效,无法被移除。”
  6. linux7.2 网卡设置,CentOS 7.2网络配置
  7. PHP获取数组中重复数据
  8. PHP查看内存使用量
  9. Unable to round-trip http request to upstream: EOF
  10. java filter 注解_注解方式的过滤器(Filter)不能过滤Servlet(注解方式)的问题...