python 工具类_Python工具类(二)—— 操作时间相关

1 #!/usr/bin/env python

2 #-*- coding: utf-8 -*-

3 """

4 __title__ = ‘操作时间的工具类‘5

6 """

7 importdatetime8 importtime9

10

11 #==========================

12 #========== time ==========

13 #==========================

14

15

16 defgetCurrentMilliSecondTime():17 """

18 description: 获取当前时间-毫秒级19 return: 1557730376981 -> str20 """

21 timestamps = str(round(time.time() * 1000))22 returntimestamps23

24

25 defgetCurrentSecondTime():26 """

27 description: 获取当前时间-秒级28 return: 1557730377 -> str29 """

30 timestamps =str(round(time.time()))31 returntimestamps32

33

34 def getCurrentTimeTuple(times=time.time()):35 """

36 description: 接受秒级时间戳并返回时间元组(与mktime(tuple)相反)37 times: 默认当前时间 可传second38 return: (tm_year=2019, tm_mon=5, tm_mday=13, tm_hour=10, tm_min=9, tm_sec=18, tm_wday=0, tm_yday=133, tm_isdst=0) -> tuple39 tips: time.localtime() 不传参则取当前时间40 """

41 timestamps =time.localtime(times)42 returntimestamps43

44

45 def getTimeByTuple(tupleTime=time.localtime()):46 """

47 description: 接受时间元组并返回秒级时间戳(与localtime(sec)相反)48 tupleTime: 默认当前时间的元组 可通过time.localtime() or datetime.datetime.now().timetuple()获取49 return: 1557733061 -> str50 """

51 timestamps =str(round(time.mktime(tupleTime)))52 returntimestamps53

54

55 def getCurrentFormatTimeStr(times=time.time()):56 """

57 description: 将指定时间元组格式化为字符串58 times: 默认当前时间 可传second59 return: 2019-05-13 15:00:47 -> str60 tips: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31)61 %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %w 星期(0-6)62 """

63 timestamps = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(times))64 returntimestamps65

66

67 def getCurrentTimeTupleByFormatStr(time_str=str(datetime.datetime.now()).split(".")[0], format_type="%Y-%m-%d %H:%M:%S"):68 """

69 description: 接受格式化字符串返回时间元组70 time_str: 格式化字符串 如:2019-05-13 15:00:47 默认当前时间71 format_type: 格式化规则 如:%Y-%m-%d %H:%M:%S 默认%Y-%m-%d %H:%M:%S72 return: (tm_year=2019, tm_mon=5, tm_mday=13, tm_hour=10, tm_min=9, tm_sec=18, tm_wday=0, tm_yday=133, tm_isdst=0) -> tuple73 """

74 returntime.strptime(time_str, format_type)75

76

77 defgetCurrentTimeStr():78 """

79 description: 获取当前时间的可读形式字符串80 return: Mon May 13 11:27:42 2019 -> str81 """

82 returntime.ctime()83

84

85 def getCurrentTimeStrByTuple(tupleTime=time.localtime()):86 """

87 description: 获取指定时间的可读形式字符串88 tupleTime: 时间元组 可通过time.localtime() or datetime.datetime.now().timetuple()获取 默认当前时间的元组89 return: Mon May 13 11:27:42 2019 -> str90 """

91 returntime.asctime(tupleTime)92

93

94 defsleepTime():95 """

96 description: 推迟调用线程的运行97 """

98 for i in range(4):99 print(i)100 time.sleep(3)101

102

103 #======================

104 #====== datetime ======

105 #======================

106

107

108 defgetNowDateTime():109 """

110 description: 获取当前日期&时间111 return: 2019-05-13 14:41:15 -> str112 """

113 timestamps = str(datetime.datetime.now()).split(".")[0]114 returntimestamps115

116

117 defgetNowTime():118 """

119 description: 获取当前时间120 return: 14:41:15 -> str121 """

122 timestamps = str(datetime.datetime.now().time()).split(".")[0]123 returntimestamps124

125

126 defgetTodayDate():127 """

128 description: 获取当前日期129 return: 2019-05-13 -> str130 tipe: datetime.datetime.now().date()有相同效果131 """

132 timestamps =str(datetime.date.today())133 returntimestamps134

135

136 def getTimeDate(times=time.time()):137 """

138 description: 获取指定时间戳的日期139 time: 秒 默认当前时间140 return: 2019-05-13 -> str141 tips: 一天86400秒142 """

143 timestamps =str(datetime.date.fromtimestamp(round(times)))144 returntimestamps145

146

147 #获取距离现在时间的任意时间的日期 正数 加,负数 减 return:2019-05-12

148 def getAnyDateTime(day, hour=0, min=0, sec=0):149 """

150 description: 获取距离现在时间的任意时间的日期&时间151 day: 天数 1代表当前时间+1天 -1代表当前时间-1天152 hour: 小时 2代表当前时间+2h -2代表当前时间-2h 默认=0153 min: 分钟 30代表当前时间+30min -30代表当前时间-30m 默认=0154 sec: 秒 120代表当前时间+120s -120代表当前时间-120s 默认=0155 return: 2019-05-15 15:37:41 -> str156 """

157 return str(datetime.datetime.now() + datetime.timedelta(days=day, hours=hour, minutes=min, seconds=sec)).split(".")[0]158

159

160 def getAnyDateSecondTime(day, hour=0, min=0, sec=0):161 """

162 description: 获取距离现在时间的任意时间的秒数163 day: 天数 1代表当前时间+1天 -1代表当前时间-1天164 hour: 小时 2代表当前时间+2h -2代表当前时间-2h 默认=0165 min: 分钟 30代表当前时间+30min -30代表当前时间-30m 默认=0166 sec: 秒 120代表当前时间+120s -120代表当前时间-120s 默认=0167 return: 1557902182 -> str168 """

169 anyDay = datetime.datetime.now() + datetime.timedelta(days=day, hours=hour, minutes=min, seconds=sec)170 returnstr(round(time.mktime(anyDay.timetuple())))171

172

173 defgetTodayTime():174 """

175 description: 获取当天0点的时间戳176 return: 1557676800 -> str177 """

178 returnstr(round(time.mktime(datetime.date.today().timetuple())))179

180

181 defgetCurrentWeekTime():182 """

183 description: 获取本周周一0点184 return: 1557676800 -> str185 tips: 可替换成: timestamps = time.mktime(time.strptime(time.strftime("%Y-%m-%d", time.localtime(times)), "%Y-%m-%d"))186 """

187 week = int(time.strftime("%w", time.localtime()))188 times = round(time.time()) - (week - 1) * 86400

189 timestamps =time.mktime(datetime.date.fromtimestamp(times).timetuple())190 returnstr(round(timestamps))191

192

193 deftest():194 print(getCurrentMilliSecondTime())195 print(getCurrentSecondTime())196 print(getCurrentFormatTimeStr())197 print(getCurrentTimeTupleByFormatStr())198 print("=======")199 print(getCurrentTimeStr())200 print(getCurrentTimeStrByTuple(time.localtime()))201 print(getTimeByTuple(time.localtime()))202 print("=======")203 print(getNowDateTime())204 print(getNowTime())205 print(getNowDateTime())206 print(getTodayDate())207 print(getTimeDate(time.time() - 86400))208 print("=======")209 print(getAnyDateTime(2))210 print(getAnyDateSecondTime(2))211 print("=======")212 print(getTodayTime())213 print(getCurrentWeekTime())214

215

216 if __name__ == ‘__main__‘:217 print(test())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值