datetime 使用

datetime是一个关于时间的库,主要包含的类有:

  date    日期对象,常用的属性有year,month,day

  time  时间对象,hour,minute,second,毫秒

  datetime    日期时间对象,常用的属性有hour,minute,second,microsecond

  timedelta    时间间隔,即两个时间点之间的长度

日期(date):

复制代码
 
import datetime
date = datetime.date(2018, 8, 23)
print(date)

-->
2018-8-23
 
复制代码

 

时间(time):

复制代码
 
import datetime
time = datetime.time()
print(time)

-->
00:00:00    # 默认值为00

import datetime
time = datetime.time(18, 55, 35)
print(time)

-->
18:55:35

import datetime
time = datetime.time(18, 55, 35, 2000)
print(time)

-->
18:55:35.002000
 
复制代码

 

 

日期时间(datetime):

复制代码
 
import datetime
datetime = datetime.datetime(2018, 8, 23, 18, 59, 55)
print(datetime)

-->
2018-08-23 18:59:55
 
复制代码

 

时间间隔(datedelta):

复制代码
 
import datetime
dlt = datetime.timedelta(hours=5)
print(dlt)

-->
5:00:00

默认值:
days=0, # 天
seconds=0,  # 秒
microseconds=0, # 微秒
milliseconds=0, # 毫秒
minutes=0,  # 分钟
hours=0,  # 小时
weeks=0 #
 
复制代码

 

now(返回当前系统时间):

复制代码
 
import datetime
now = datetime.datetime.now()
print(now)

-->
2018-08-23 19:10:26.886975
 
复制代码

 

格林威治时间:

  表示从1970年1月1日00:00:00 开始至今的时间间隔

复制代码
 
import datetime
utc = datetime.datetime.utcnow()
print(utc)

-->
2018-08-23 11:24:26.799106
 
复制代码

 

东八区时间(北京时间):

复制代码
 
# 现获取格林威治(本初子午线时间)的当前时间
import datetime
utc = datetime.datetime.utcnow()
# 8小时时差
dtl = datetime.timedelta(hours=8)
now = utc + dtl
print(now)

-->
2018-08-23 19:38:01.218821
 
复制代码

 

解析时间(strptime):按一定的格式输出时间(字符串时间转化为datetime格式)

复制代码
 
import datetime
strp = datetime.datetime.strptime('Aug-23-18 19:51', '%b-%d-%y %H:%M')
print(strp)

-->
2018-08-23 19:51:00


当前时间
  import datetime
  now = datetime.datetime.now()
  strf = now.strftime('%Y-%m-%d %H:%M:%S')
  print(strf)
 
复制代码

可在电脑设置里面查看时间格式

 

格式化时间(strftime):完全自定义时间格式(将时间格式、转化为自定字符串格式)

复制代码
 
import datetime
now = datetime.datetime.now()
strf = now.strftime('%d-%m-%Y %H:%M:%S')
print(strf)

-->
23-08-2018 20:21:24   
时间格式怎么改都行
 
复制代码

 

关于时间格式的汇总:

fromtimestamp(t)

  将时间戳转换成易读的日期时间

  t:时间戳浮点数

复制代码
 
import time
import datetime

# 获取当前时间的时间戳
t = time.time()    # 1535275338.445392
# 将时间戳转换成易读格式的时间
time = datetime.datetime.fromtimestamp(t)
print(time)

-->
2018-08-26 17:22:18.445392
 
复制代码

 

timestamp(t)

  将日期时间转换成时间戳浮点数

  t:日期时间格式(易读的时间格式)

复制代码
import datetime
t = datetime.datetime.now()
print(t)
time = datetime.datetime.timestamp(t)
print(time)

-->
2018-08-26 17:33:26.657776
1535276006.657776
复制代码

 

判断当前时间是否在某一时间段内

1
2
3
4
5
import datetime#时间范围
start_t = datetime.datetime.strptime(p_every["start_time"], '%Y-%m-%d %H:%M:%S')end_t = datetime.datetime.strptime(p_every['end_time'], '%Y-%m-%d %H:%M:%S')#当前时间now_t = datetime.datetime.now()if now_t > start_t and now_t < end_t:
  
# 判断当前时间是否在范围时间内
if now_time > start_time and now_time<end_time:

 

1
2
detester = '2017-01-01 12'
date = datetime.datetime.strptime(detester,'%Y-%m-%d %H')#把时间格式字符串转换成时间戳

 打印出一年中的所有日期。

复制代码
import datetime

year = datetime.date.today().year

for m in range(1, 13):
    for d in range(1, 32):
        try:
            date = datetime.date(year, m, d)
            print(date)
        except ValueError:
            # 如果日期不合法,则跳过
            continue
复制代码

 

 

转载:https://www.cnblogs.com/pywjh/p/9526094.html

posted @   乔小生1221  阅读(305)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示