python datetime学习
Python中处理时间的模块datetime, 这个模块里包含的类也叫datetime,所以要使用需要先import
from datetime import datetime
获取当前日期和时间 datetime
datetime.now() # 输出结果是当前的日期和时间

timestamp是时间戳
以1970年1月1日 00:00:00 UTC+00:00为标准时间
timestamp = 0 = 1970-1-1 00:00:00 UTC+0:00
其他地方的时间需要加上时区,如北京的时间如下:
timestamp = 0 = 1970-1-1 08:00:00 UTC+8:00
timestamp转换成时间时会自动转换到当地的时区
timestamp()方法可以把datetime类型转换成timestamp
datetime.now().timestamp # 1429417200.0
timestamp也可以转换成datetime, 通过datetime.fromtimestamp()方法
datetime.fromtimestamp(1429417200.0) # 2015-04-19 12:20:00
本地时间转换成UTC时间
本地时间是指系统设定时区的时间,例如北京时间是UTC+8:00时区的时间,而UTC时间指UTC+0:00时区的时间。
要使用tzinfo就需要引入timezone这个类
from datetime import timezong
比如:想到把北京时间转换成UTC时间
datetime.now().replace(tzinfo=timezone(timedelta(hours=8)))

timedelta()方法可以用来加减时间,参数可以是days, hours, ....
str转换为datetime
>>> from datetime import datetime
>>> cday = datetime.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S')
>>> print(cday)
2015-06-01 18:19:59
datetime转换为str
>>> from datetime import datetime
>>> now = datetime.now()
>>> print(now.strftime('%a, %b %d %H:%M'))
Mon, May 05 16:28
实例:
假设你获取了用户输入的日期和时间如2015-1-21 9:01:30,以及一个时区信息如UTC+5:00,均是str,请编写一个函数将其转换为timestamp:
# _*_ coding:utf-8 _*_
from datetime import datetime, timedelta, timezone
import re def to_timestamp(dt_str, tz_str):
dt = datetime.strptime(dt_str, '%Y-%m-%d %H:%M:%S')
tz = re.match(r'(UTC)([-+])([\d]+)', tz_str).groups()
if tz[1] == '-':
dtstamp = dt.replace(tzinfo=timezone(timedelta(hours=-int(tz[2]))))
else:
dtstamp = dt.replace(tzinfo=timezone(timedelta(hours=int(tz[2]))))
return dtstamp.timestamp()
print(dtutcstamp)
return dtutcstamp # test
t1 = to_timestamp('2015-6-1 08:10:30', 'UTC+07:00')
assert t1 == 1433121030.0, t1 t2 = to_timestamp('2015-5-31 16:10:30', 'UTC-09:00')
assert t2 == 1433121030.0, t2
print('ok')
python datetime学习的更多相关文章
- Python Django 学习 (二) 【Django 模型】
注: 由于自己排版确实很难看,本文开始使用markdown编辑,希望有所改善 官方定义 A model is the single, definitive source of information ...
- Python 基础学习 总结篇
Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...
- 【目录】Python模块学习系列
目录:Python模块学习笔记 1.Python模块学习 - Paramiko - 主机管理 2.Python模块学习 - Fileinput - 读取文件 3.Python模块学习 - Confi ...
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
- 60分钟Python快速学习(给发哥一个交代)
60分钟Python快速学习 之前和同事谈到Python,每次下班后跑步都是在听他说,例如Python属于“胶水语言啦”,属于“解释型语言啦!”,是“面向对象的语言啦!”,另外没有数据类型,逻辑全靠空 ...
- python爬虫学习(1) —— 从urllib说起
0. 前言 如果你从来没有接触过爬虫,刚开始的时候可能会有些许吃力 因为我不会从头到尾把所有知识点都说一遍,很多文章主要是记录我自己写的一些爬虫 所以建议先学习一下cuiqingcai大神的 Pyth ...
- python爬虫学习 —— 总目录
开篇 作为一个C党,接触python之后学习了爬虫. 和AC算法题的快感类似,从网络上爬取各种数据也很有意思. 准备写一系列文章,整理一下学习历程,也给后来者提供一点便利. 我是目录 听说你叫爬虫 - ...
- Django model '__week_day'与python datetime的weekday()
上周出了个bug,按星期几查询数据的时候,发现查到的数据与显示的星期几并不相符,后来发现代码中按星期几查询,有的地方用的是Django QuerySet提供的'__week_day',有的地方用的是p ...
- Python正则表达式学习摘要及资料
摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2 ...
随机推荐
- oracel 日期查询
--查出当前系统时间select SYSDATE from table; --格式转换-- TO_CHAR 把日期或数字转换为字符串 -- TO_CHAR(number, '格式') - ...
- String类的常用方法总结
一.String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.java把String类声明的final类,不能有类.String类对象创建 ...
- ajax返回数据定义为全局变量
var result; //定义全局变量 $(document).ready(function(){ $.ajax({ type:'PO ...
- 特殊权限set_gid
set gid: 权限说明: set gid权限可以作用在文件上(二进制可执行文件),也可以作用在目录上.当作用在文件上时,其功能和set,uid一样,它会使文件在执行阶段具有文件所属组的权限.目录被 ...
- 自定义ListView 、GradView 重写onMeasure方法让其正确显示
1 继承原始的 2 重写onMeasure方法 @Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpe ...
- 90%会搞错的JavaScript闭包问题
由工作中演变而来的面试题 这是一个我工作当中的遇到的一个问题,似乎很有趣,就当做了一道题去面试,发现几乎没人能全部答对并说出原因,遂拿出来聊一聊吧. 先看题目代码: function fun(n,o) ...
- Git客户端的安装与配置入门
GitLab与Git客户端的安装与配置入门,每次配置完一段时间,就忘记配置过程了,为了自己和同学们以后有所参照,特记录了本次下载和配置,其实Git就是一个版本控制系统,类似于SVN,CVS等 下载:W ...
- php优秀框架codeigniter学习系列——CI_Utf8类
CI_Utf8类用来对Utf8编码环境提供支持.(Provides support for UTF-8 environments). 从构造函数看,只有当开启了PCRE模式,加载了iconv或者mbs ...
- 12.输入一个成绩计算其A,B,C,D,E等级
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int score; s ...
- 数据文件resize扩容
表空间不足 Alert日志报错 Mon Dec :: GMT+: Incremental checkpoint up to RBA[ox1af2d.3ddll.], current log tail ...