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 ...
随机推荐
- confirm消息对话框
function rec(){ var mymessage= confirm("你是女孩?") ; if(mymessage==true) { document.write(&qu ...
- [SCOI2005]栅栏
这个题...只能说比较水... 排序后,算一个前缀和,二分dfs查找答案...加上两个剪枝就过了...QVQ 我只能刷这种水题...我太菜了...QVQ #include<iostream> ...
- codeforce150A(简单的求质数问题)
A. Win or Freeze time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- oracle概要文件profile详解
一.目的: Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该prof ...
- linux的python版本升级
可利用Linux自带下载工具wget下载,如下所示: # wget http://www.python.org/ftp/python/2.7.3/Python-2.7.13.tgz 下载完成后 ...
- ‘’.join(列表)--列表转化为一个语句。 strip()删除掉str中的左右的空白字符
1和2相比,删除掉了str左右的空白字符,2和3相比,删除掉了上下的空白字符
- robotframework·WEB端基础
date:2018526 day10 一.导入库 导入的库分两种,一种是导入常用库,如String.Collections等(Library String.Collections,再运用库中的关键字) ...
- 2017ICPC南宁赛区网络赛 Train Seats Reservation (简单思维)
You are given a list of train stations, say from the station 111 to the station 100100100. The passe ...
- [转]Cross-type joins in Elasticsearch
Cross-type joins in Elasticsearch http://rore.im/posts/elasticsearch-joins December 31, 2014 When mo ...
- git get submodule after clone
/********************************************************************************* * git get submodu ...