常用模块(3)时间模块(包含练习)

1.小练习题(之前知识点练习)

# 把双数日期的日志,里面给随便写点东西。
# 1、获取到log目录下面的所有文件 os.walk()
# 2、根据文件名来判断,是否是双数日期 ,分割字符串,取到日期
# 3、12%2==0
# 4、打开这个文件 open()
import os
for abs_path,dir,file in os.walk(r'E:\syz\ly-code\day6\logs'):
for f in file: #空文件【】不循环 不用管
day = f.split('.')[0].split('-')[-1]
if int(day)%2==0:
file_name = os.path.join(abs_path,f)#拼接绝对路径 便于打开 否则会在当前路径建立多余文件
open(file_name,'a+',encoding='utf-8').write('写东西')#并没有付给f(f = open XXX) 所以使用完以后 就自动关闭。

**2.时间模块

import time

#1、时间戳  从unix元年到现在过了多少秒

#2、格式化好的时间

 时间戳和格式化时间转化(通过时间元组)

#先转成时间元组

# print(time.time())  #获取当前时间戳

# time.sleep(10)  #等待时间10s

today = time.strftime('%Y%m%d%H%M%S')  #获取格式化好的时间 格式可自己制定

# print(today)

# print(time.gmtime()) #默认取的是标准时区的时间

s=time.localtime(1514198608)  #取到的是当前时区的时间 参数不填默认当前  s 获得时间元组

# print(time.strftime('%Y-%m-%d %H:%M:%S',s))  #时间元组转为格式化时间

#时间戳转换时间元组步骤

# 1、时间戳转成时间元组  time.localtime()

# 2、再把时间元组转成格式化的时间

将该功能定义为函数:

def timestamp_to_fomat(timestamp=None,format='%Y-%m-%d %H:%M:%S'):

  #1、默认返回当前格式化好的时间

  #2、传入时间戳的话,把时间戳转换成格式化好的时间,返回

  if timestamp:

        time_tuple = time.localtime(timestamp)

        res = time.strftime(format,time_tuple)

  else:

        res = time.strftime(format)  #默认取当前时间格式

  return res

# 2018-4-21转化为时间戳

# tp = time.strptime('2018-4-21','%Y-%m-%d')  #把格式化好的时间转成时间元组的

# print(time.mktime(tp))  #把时间元组转成时间戳

def strToTimestamp(str=None,format='%Y%m%d%H%M%S'):

  # 20180421165643(例子)

  #默认返回当前时间戳

  if str: #如果传了时间的话

        tp = time.strptime(str,format) #格式化好的时间,转成时间元组

        res = time.mktime(tp)#再转成时间戳

  else:

        res = time.time()  #默认取当前的时间戳

  return int(res)

 4.datatime模块(方便处理几天前后时间)

import datetime

print(datetime.datetime.today()) #获取当前时间,精确到秒

print(datetime.date.today()) #精确到天

res = datetime.datetime.today()+datetime.timedelta(days=1,minutes=5,seconds=5,weeks=5) #获取几天后的时间负数是几天前  没有年相关的

print(res.strftime('%Y-%m-%d'))



猜你喜欢

转载自www.cnblogs.com/cslw5566/p/8934293.html