time 与 datetime

2018-06-23  本文已影响0人  酷酷的图图

人生苦短 我用python

开始愉快的享(代)受(码)时间:

# 程序休眠,单位是秒
time.sleep(2.5)
第一步: 获得当前时间戳
# 时间戳:从1970年1月1日0:0:0 到 当前时间的间隔,单位是秒
time_stamp = time.time() #  获取当前时间戳
print(time_stamp) # 1521682259.0421598

第二步: 时间戳转时间
time_stamp = time.time() # 1529718016.3114526
time1 = time.localtime(time_stamp) # time.struct_time(tm_year=2018, tm_mon=6, tm_mday=23, tm_hour=9, tm_min=40, tm_sec=16, tm_wday=5, tm_yday=174, tm_isdst=0)
time2 = time.strftime('%Y-%m-%d %H:%M:%S', time1) # 2018-06-23 09:40:16

或者 转中文格式
# 参数2位时间元组类型 如果不填 则默认将当前时间按格式输出 
time3 = time.strftime('%Yyear %mmonth %dday %Hhour %Mminute %Ssecond') #  安装当前时间 输出格式 2018year 06month 23day 09hour 50minute 10second
# 2018年 06month 23日 09时 50分 56秒
time4 = time3.replace("year",'年').replace('mouth','月').replace('day', '日').replace('hour','时').replace('minute','分').replace('second','秒')

第三步: 时间转时间戳
time5 = "2011-09-28 10:00:00"
# 中间过程,一般都需要将字符串转化为时间数组
time6 = time.strptime(time5,'%Y-%m-%d %H:%M:%S')  #time.struct_time(tm_year=2018, tm_mon=6, tm_mday=23, tm_hour=10, tm_min=0, tm_sec=28, tm_wday=5, tm_yday=174, tm_isdst=0)
# 将"2011-09-28 10:00:00"转化为时间戳
time7 = time.mktime(time6)  # 1317175200.0

# 自定义时间的输出格式
# year 年 y/Y
# month 月 m
# day 日 d
# hour 时 H
# minute 分 M
# seconds 秒 S
time1 = time.strftime("%Y %m %d %H %M %S")  # 2018 06 23 10 16 08  # 参数2位时间元组类型 如果不填则默认按照当前格式输出
time4 = time.strftime("%Y %m  %d %H  %M  %S", time.localtime()) # 2018 06  22 22  22 40
time5 = time.strftime("%Y:%m:%d : %H-%M-%S ", time.localtime(time.time())) # 2018:06:22 : 22-22-40  # todo 注意中间可以用 : - 英文 填充 但不能用汉字填充

# 方式1:
import  time
time1 = time.strftime("%Y year %m mouth %d day %H %M %S")  # 2018 year 06 mouth 23 day 10 47 02  
print(time1)

# 因为 strftime无法填充中文 所以可采用replace的方式 中文输出格式
print(time2 .replace("year", "年").replace("month","月"))   # 2018年06月23day

# 方式2:
import datetime
time1 = datetime.datetime.now()  # 获取当前时间  类型: <class 'datetime.time'>
time2 = time1.strftime("%Y year %m mouth %d day %H %M %S") # 2018 year 06 mouth 23 day 10 47 02
print(time2)

# 因为 strftime无法填充中文 所以可采用replace的方式 中文输出格式
print(time2 .replace("year", "年").replace("month","月"))   # 2018年06月23day

# 方式3:
import  time
time1 = time.localtime() # time.struct_time(tm_year=2011, tm_mon=9, tm_mday=28, tm_hour=10, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=271, tm_isdst=-1) 1317175200.0
# 将时间格式化输出:
year = time1.tm_year
month = time1.tm_mon
# 结果:2018年3月22日9时30分59秒
print("{}年{}月{}日{}时{}分{}秒".format(year, month, time1.tm_mday, time1.tm_hour, time1.tm_min, time1.tm_sec)) 

# today:今天
date1 = datetime.datetime.today() # 当前日期为:2018-06-22 22:29:14.136743
print("当前日期为:{}".format(date1))
# now:现在
date2 = datetime.datetime.now() # 现在日期为:2018-06-22 22:29:14.136743
print("现在日期为:{}".format(date2))


date2 = datetime.datetime.now() # 结果:2018-06-22 22:29:14.136743

# 输出方式1: 自定义格式
date3 = date2.strftime("%Yyear%mmonth%dday") 
# 因为strftime无法填充中文 所以采用replace的方式 中文输出格式
print(date3.replace("year", "年").replace("month","月"))   # 2018年06月22day

#输出方式2:  日期格式输出
date7 = date2.date() # 输出日期部分 2018-06-23
date8 = date2.time() # 输出时间部分 10:57:06.655149  类型: <class 'datetime.time'>
print("年月日为{}".format(date7)) # 年月日为2018-06-22

# 获得一个时间间隔
date4 = datetime.timedelta(days=1)
print(date4) # 1 day, 0:00:00
# 当前时间 向 后推算一天
date5 = datetime.datetime.now() + date4
print("一天以后的时间为{}".format(date5)) # 一天以后的时间为2018-06-23 22:29:14.136743
# Friday  March
print("一天以后的时间为{}".format(date5.ctime())) # 一天以后的时间为Sat Jun 23 22:29:14 2018

create_time = time.localtime(os.stat("login.txt").st_mtime)
转换格式
create_time1 = datetime.datetime(create_time.tm_year, create_time.tm_mon, create_time.tm_mday, create_time.tm_hour, create_time.tm_min, create_time.tm_sec) # 2018-06-23 22:29:14.136743

# 导入模块
from apscheduler.schedulers.blocking import BlockingScheduler
blocking = BlockingScheduler()


@blocking.scheduled_job("interval", seconds=1000, id="run")  # 设置时间间隔 要调用的函数名
def run(): # 定时执行函数
    ChouTi.authorized_car1("18790868582", "zhangzenan")
    ChouTi.all_pages()

# 启动定时器
blocking.start()

上一篇下一篇

猜你喜欢

热点阅读