1. 创建naive(无时区信息)的datetime对象

import datetime  

dt_utc = datetime.datetime.utcnow()

dt_utc # datetime.datetime(2019, 2, 1, 10, 53, 34, 145034)

dt_utc.tzinfo # None 

dt_local = datetime.datetime.now()

dt_local.tzinfo # None 

# tzinfo为None的datetime对象is naive(不知道怎么翻译好。。。)

# tzinfo为tzinfo对象的None的datetime对象is aware。

# 只有都为naive或者都为aware才可以相互比较

2. 创建的aware(有时区信息)的datetime对象

import datetime  

dt_utc = datetime.datetime.utcnow()

dt_utc_aware = dt.replace(tzinfo=datetime.timezone.utc)

dt_utc_aware.tzinfo # datetime.timezone.utc

dt_local = datetime.datetime.now()

dt_local_aware = dt_local.replace(tzinfo=datetime.tzinfo(datetime.timedelta(hours=8)))

3. datetime对象的时区转换

import datetime  

dt_utc = datetime.datetime.utcnow()

dt_utc_aware = dt.replace(tzinfo=datetime.timezone.utc)

dt_utc_aware.tzinfo # datetime.timezone.utc

dt_local_aware = dt_utc_aware.astimezone(datetime.timezone(datetime.timedelta(hours=8))) # 转为北京时间

4. datetime对象和时间戳互转

import datetime  

import time

stamp = time.time() # 获取时间戳

dt_utc = datetime.datetime.utcfromtimestamp(stamp) # 转为datetime

# datetime.datetime(2019, 2, 1, 12, 52, 59, 268168)

dt_local = datetime.datetime.fromtimestamp(stamp)

# datetime.datetime(2019, 2, 1, 20, 52, 59, 268168)

stp = dt_utc.timestamp() # 转为时间戳,时间戳唯一,不因时区变化

4. datetime对象和date对象互转

import datetime  

d_local = datetime.date.today() # 获取date

dt_utc = datetime.datetime.fromordinal(d_local.toordinal()) # 转为datetime

# datetime.datetime(2019, 2, 1, 0, 0)

d_ = dt_utc.date() # 转为date

# datetime.date(2019, 2, 1)

python datetime模块用法的更多相关文章

  1. python datetime模块strptime/strptime format常见格式命令_施罗德_新浪博客

    python datetime模块strptime/strptime format常见格式命令_施罗德_新浪博客     python datetime模块strptime/strptime form ...

  2. python——datetime模块

    一.datetime模块介绍 (一).datetime模块中包含如下类: 类名 功能说明 date 日期对象,常用的属性有year, month, day time 时间对象 datetime 日期时 ...

  3. python datetime模块参数详解

    Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime.time模块,它提供 的接口与C标准库time.h基本一致.相比于time模块,datetime模块的接 ...

  4. Python datetime模块的介绍

    datetime模块常用的主要有下面这四个类:(要清楚import datetime : 导入的是datetime这个包,包里有各种类) 1. datetime.date   用于表示年月日构成的日期 ...

  5. python pillow模块用法

    pillow Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库.pillow可以说已经取代了PIL,将其封装成python的库(pip即可安装),且支持pytho ...

  6. Python datetime模块的datetime类

    datetime模块定义了下面这几个类: datetime.date:表示日期的类.常用的属性有year, month, day. datetime.time:表示时间的类.常用的属性有hour, m ...

  7. Python collections 模块用法举例

    Python作为一个“内置电池”的编程语言,标准库里面拥有非常多好用的模块.比如今天想给大家 介绍的 collections 就是一个非常好的例子. 1.collections模块基本介绍 我们都知道 ...

  8. python datetime模块详解

    datetime是python当中比较常用的时间模块,用于获取时间,时间类型之间转化等,下文介绍两个实用类. 一.datetime.datetime类: datetime.datetime.now() ...

  9. Python Jsonpath模块用法

    在使用Python做自动化校验的时候,经常会从Json数据中取值,所以会用到Jsonpath模块,这里做个简单的总结 1.关于jsonpath用来解析多层嵌套的json数据;JsonPath 是一种信 ...

随机推荐

  1. Java同步学习(持续更新)

    在需要考虑线程安全性的场合,可以考虑以下五种方式来实现线程的安全性: 1.同步方法 即有synchronized关键字修饰的方法. 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时,   ...

  2. centos7-软件安装-mysql5.7

    mysql5.7新增特点: 最新版本的mysql5.7相比较于mysql5.6,新添加了一个特点:允许日期类型字段添加数值精确到毫秒位数,比如`create_date` datetime(3) DEF ...

  3. [SQL]触发器把自增ID的值赋值给另外一个字段

    ALTER TRIGGER test_Rate ON dbo.tRate FOR insert AS declare @errno ) begin UPDATE dbo.tRate SET vcUpd ...

  4. 安卓打开远程调试(免root)

    首先用数据线连接adb,在pc端执行: adb tcpip 5555 然后就能拔掉数据线了. pc执行这个: adb connect 172.19.208.2 就能连接上

  5. lecune入门示例

    注意:本示例中的lucene版本需在jdk7以上使用. 一.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" ...

  6. MySQL——navicat 连接 mysql 出现1251Client does not support authentication protocol requested by server的解决方案

    前期修改root密码问题(首次安装的root密码是空,直接Enter就行): cmd用管理员身份进入,然后输入 mysqladmin -u root -p password newpassword 需 ...

  7. JOSN转列格式(csv文件)

    推荐网站 https://json-csv.com/ 限制1M大小

  8. Linux下安装GitHub

    安装GitHub 1.下载安装git: yum -y install git git-core git-doc 2.运行完执行 ssh-keygen -t rsa -C "your@emai ...

  9. HTML5 元素文字超出部分显示省略号(支持多行),兼容几乎所有常用浏览器

    1,公共样式,在公共的 CSS 文件中加入以下内容  /* 超出部分显示省略号,支持多行 */ .text-ells:before { content: ''; float: left; width: ...

  10. openwrt从18.0.1降级回到17.0.6遇到的问题

    因为觉得openwrt的18的配置检查功能很费时,特别是遇到ar93xx慢的真可以,所以决定从18.0.1降回到17.0.6上 先把18.0.1的配置backup出来,然后刷17.0.6,再把back ...