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

  1 #!/usr/bin/env python
  2 # -*- coding: utf-8 -*-
  3 """
  4 __title__ = ‘操作时间的工具类‘
  5
  6 """
  7 import datetime
  8 import time
  9
 10
 11 # ==========================
 12 # ========== time ==========
 13 # ==========================
 14
 15
 16 def getCurrentMilliSecondTime():
 17     """
 18     description:  获取当前时间-毫秒级
 19     return:       1557730376981 -> str
 20     """
 21     timestamps = str(round(time.time() * 1000))
 22     return timestamps
 23
 24
 25 def getCurrentSecondTime():
 26     """
 27     description:  获取当前时间-秒级
 28     return:       1557730377 -> str
 29     """
 30     timestamps = str(round(time.time()))
 31     return timestamps
 32
 33
 34 def getCurrentTimeTuple(times=time.time()):
 35     """
 36     description:  接受秒级时间戳并返回时间元组(与mktime(tuple)相反)
 37     times:        默认当前时间 可传second
 38     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) -> tuple
 39     tips:         time.localtime() 不传参则取当前时间
 40     """
 41     timestamps = time.localtime(times)
 42     return timestamps
 43
 44
 45 def getTimeByTuple(tupleTime=time.localtime()):
 46     """
 47     description:  接受时间元组并返回秒级时间戳(与localtime(sec)相反)
 48     tupleTime:    默认当前时间的元组 可通过time.localtime() or datetime.datetime.now().timetuple()获取
 49     return:       1557733061 -> str
 50     """
 51     timestamps = str(round(time.mktime(tupleTime)))
 52     return timestamps
 53
 54
 55 def getCurrentFormatTimeStr(times=time.time()):
 56     """
 57     description:  将指定时间元组格式化为字符串
 58     times:        默认当前时间 可传second
 59     return:       2019-05-13 15:00:47 -> str
 60     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     return timestamps
 65
 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:%S
 72     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) -> tuple
 73     """
 74     return time.strptime(time_str, format_type)
 75
 76
 77 def getCurrentTimeStr():
 78     """
 79     description:  获取当前时间的可读形式字符串
 80     return:       Mon May 13 11:27:42 2019 -> str
 81     """
 82     return time.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 -> str
 90     """
 91     return time.asctime(tupleTime)
 92
 93
 94 def sleepTime():
 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 def getNowDateTime():
109     """
110     description:  获取当前日期&时间
111     return:       2019-05-13 14:41:15 -> str
112     """
113     timestamps = str(datetime.datetime.now()).split(".")[0]
114     return timestamps
115
116
117 def getNowTime():
118     """
119     description:  获取当前时间
120     return:       14:41:15 -> str
121     """
122     timestamps = str(datetime.datetime.now().time()).split(".")[0]
123     return timestamps
124
125
126 def getTodayDate():
127     """
128     description:  获取当前日期
129     return:       2019-05-13 -> str
130     tipe:         datetime.datetime.now().date()有相同效果
131     """
132     timestamps = str(datetime.date.today())
133     return timestamps
134
135
136 def getTimeDate(times=time.time()):
137     """
138     description:  获取指定时间戳的日期
139     time:         秒 默认当前时间
140     return:       2019-05-13 -> str
141     tips:         一天86400秒
142     """
143     timestamps = str(datetime.date.fromtimestamp(round(times)))
144     return timestamps
145
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     默认=0
153     min:          分钟 30代表当前时间+30min -30代表当前时间-30m   默认=0
154     sec:          秒   120代表当前时间+120s -120代表当前时间-120s 默认=0
155     return:       2019-05-15 15:37:41 -> str
156     """
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     默认=0
165     min:          分钟 30代表当前时间+30min -30代表当前时间-30m   默认=0
166     sec:          秒   120代表当前时间+120s -120代表当前时间-120s 默认=0
167     return:       1557902182 -> str
168     """
169     anyDay = datetime.datetime.now() + datetime.timedelta(days=day, hours=hour, minutes=min, seconds=sec)
170     return str(round(time.mktime(anyDay.timetuple())))
171
172
173 def getTodayTime():
174     """
175     description:  获取当天0点的时间戳
176     return:       1557676800 -> str
177     """
178     return str(round(time.mktime(datetime.date.today().timetuple())))
179
180
181 def getCurrentWeekTime():
182     """
183     description:  获取本周周一0点
184     return:       1557676800 -> str
185     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     return str(round(timestamps))
191
192
193 def test():
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())

原文地址:https://www.cnblogs.com/poloyy/p/12208446.html

时间: 2024-08-06 23:10:19

Python工具类(二)—— 操作时间相关的相关文章

[C#] 常用工具类——文件操作类

/// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在</para> /// <para> IsImgFilename:判断文件名是否为浏览器可以直接显示的图片文件名</para> /// <para> CopyFiles:复制指定目录的所有文件</para> /// <para> MoveFi

C#常用工具类——Excel操作类

/// 常用工具类——Excel操作类 /// <para> ------------------------------------------------</para> /// <para> CreateConnection:根据Excel文件路径和EXCEL驱动版本生成OleConnection对象实例</para> /// <para> ExecuteDataSet:执行一条SQL语句,返回一个DataSet对象</para>

.NET常用工具类——COOKIES操作类

using System;using System.Collections;using System.Collections.Generic;using System.Collections.Specialized;using System.Text;using System.Web;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.We

.Net常用工具类——Session操作类

using System;using System.Collections.Generic;using System.Text;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts; namespace ZC

C#常用工具类——Excel操作类(ZT)

本文转载于: http://www.cnblogs.com/zfanlong1314/p/3916047.html 1 /// 常用工具类——Excel操作类 2 /// <para> ------------------------------------------------</para> 3 /// <para> CreateConnection:根据Excel文件路径和EXCEL驱动版本生成OleConnection对象实例</para> 4 //

Collections工具类:操作集合的工具类

Collections工具类:操作集合的工具类 Java提供了一个操作Set List Map等集合的工具类:Collections,该工具类提供了大量方法对集合元素进行排序.查询和修改等操作.还提供了将集合对象设置为不可变,对集合对象实现同步控制等方法. 排序操作 ArrayList arrayList = new ArrayList(); arrayList.add(2); arrayList.add(-1); arrayList.add(4); arrayList.add(6); Syst

java工具类--数据库操作封装类

java对数据库操作简单处理,如下代码即可,封装了 增删改查及获取连接.关闭连接. 代码如下: package com.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; /** * 操作数据库工具类 * * */ public class DbUtil { /** * 连接数据 * * @ret

Java学习笔记49(DBUtils工具类二)

上一篇文章是我们自己模拟的DBUtils工具类,其实有开发好的工具类 这里使用commons-dbutils-1.6.jar 事务的简单介绍: 在数据库中应用事务处理案例:转账案例 张三和李四都有有自己的存款 主键 帐户名 余额 1 张三 1000 2 李四 10 要从张三的账户余额中转账800到李四账户 SQL语句实现: update xx set 余额 = 余额-800 where 主键=1 update xx set 余额 = 余额+800 where 主键=2 虽然操作成功,但是会出现问

Unity+NGUI打造网络图片异步加载与本地缓存工具类(二)

接上文,我们的工具类中的主要方法: public  void SetAsyncImage(string url,UITexture texture) 按照前文分析的图片加载步骤来 public void SetAsyncImage(string url,UITexture texture){ //开始下载图片前,将UITexture的主图片设置为占位图 texture.mainTexture = placeholder; //判断是否是第一次加载这张图片 if (!File.Exists (pa