初学python库-datetime
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了初学python库-datetime,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2546字,纯文字阅读大概需要4分钟。
内容图文
![初学python库-datetime](/upload/InfoBanner/zyjiaocheng/626/7358f51be4a141aaa2bfb3d86382293a.jpg)
1.获取当前时间
from datetime import datetime
第一个datetime是标准库的名字;
第二个datetime是该标准库内类的名字;
now是datetime类具有的函数,返回当前时间;
查看这个数据类型,是datetime.datetime类。
2.构造时间
datetime标准库包含datetime类;
利用该类构造对象时,可以传入参数:年月日时分秒;
秒可以不写,默认为0;
个位数不要补零,否则会报错;
创建对象时,会对各个参数的大小的合法性进行校验:
3.datetime转化成timestamp时间戳
在计算机中,时间是以数字表示的,规定把1970年1月1日00:00:00 UTC+00:00规定为epoch time;
epoch time在计算机中时间存储为0;
1970年以前的时间timestamp记为负数;
当前时间就是相对与epoch time的秒数;
timestamp=0=1970-01-01 00:00:00 UTC+00:00
对应的北京时间是:timestamp=0=1970-01-01 08:00:00 UTC+08:00
timestamp一旦确定,那么所有的UTC时间(不同时区的时间)都可以确定;
全球各地计算机在任意时刻的timestamp是完全相同的。
python中datetime转化成timestamp的方法:
python中时间戳是一个浮点数,小数部分表示毫秒数;
Java和JavaScript中毫秒数也是用整数表示,这种情况只需要除以1000就可以和python格式相同。
4.timestamp转化成datetime
将timestamp作为参数传入datetime.fromtimestamp()函数,返回即datetime
注意,时间戳不区分时区,但是转化后的datetime是分时区的;
datetime.fromtimestamp(ts)是将时间戳转化为本地时间;
datetime.utcfromtimestamp()是将时间戳转化为utc标准时区的时间,格林威治,与北京相差8小时。
5.str转化成datetime
使用datetime.strptime()函数;
需要传入带转化的字符串作为第一个参数;
需要传入日期时间的格式化字符串:'%Y-%m-%d %H:%M:%S'
6.datetime转化成str
将datetime格式转化成字符串格式,使用函数strftime();
datetime对象.strftime('格式化字符串')
%a 表示星期几,英文缩写;
%b 表示月份
python中日期时间的格式规定见官方文档:
https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
7.datetime加减
日期时间的加减运算表示将datetime往前或者往后推算,得到新的datetime;
导入timedelta类,用加减运算符;
now-timedelta(days=2)表示日期往前推两天。
8.本地时间转换成UTC时间
本地时间是指系统设定的时区的时间;
北京时间是utc+8:00时区的时间;
utc时间是指utc+0:00时区的时间。
datetime类有一个时区属性tzinfo,默认为none,所以不能区分这个datetime的时区;
可以强行给datetime设定一个时区。
8.时区转换
获取UTC时间,并设置时区为UTC0:00
将UTC时间转换成北京时间:
使用astimezone函数
时区转换的关键在于:
拿到一个datetime首先要获知其正确的时区,然后强制设置时区,作为基准时间;
利用带时区的datetime,通过astimezone(),可以转换到任意时区。
datetime表示的时间需要时区信息才能确定特定的时间,没有时区信息默认为本地时间
如果要存储datetime,最佳方法是将其转换成timestamp再存储,因为timestamp与时区无关
内容总结
以上是互联网集市为您收集整理的初学python库-datetime全部内容,希望文章能够帮你解决初学python库-datetime所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。