Python工具类(二)—— 操作时间相关
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- """
- __title__ = '操作时间的工具类'
- """
- import datetime
- import time
- # ==========================
- # ========== time ==========
- # ==========================
- def getCurrentMilliSecondTime():
- """
- description: 获取当前时间-毫秒级
- return: 1557730376981 -> str
- """
- timestamps = str(round(time.time() * 1000))
- return timestamps
- def getCurrentSecondTime():
- """
- description: 获取当前时间-秒级
- return: 1557730377 -> str
- """
- timestamps = str(round(time.time()))
- return timestamps
- def getCurrentTimeTuple(times=time.time()):
- """
- description: 接受秒级时间戳并返回时间元组(与mktime(tuple)相反)
- times: 默认当前时间 可传second
- 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
- tips: time.localtime() 不传参则取当前时间
- """
- timestamps = time.localtime(times)
- return timestamps
- def getTimeByTuple(tupleTime=time.localtime()):
- """
- description: 接受时间元组并返回秒级时间戳(与localtime(sec)相反)
- tupleTime: 默认当前时间的元组 可通过time.localtime() or datetime.datetime.now().timetuple()获取
- return: 1557733061 -> str
- """
- timestamps = str(round(time.mktime(tupleTime)))
- return timestamps
- def getCurrentFormatTimeStr(times=time.time()):
- """
- description: 将指定时间元组格式化为字符串
- times: 默认当前时间 可传second
- return: 2019-05-13 15:00:47 -> str
- tips: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31)
- %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %w 星期(0-6)
- """
- timestamps = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(times))
- return timestamps
- def getCurrentTimeTupleByFormatStr(time_str=str(datetime.datetime.now()).split(".")[0], format_type="%Y-%m-%d %H:%M:%S"):
- """
- description: 接受格式化字符串返回时间元组
- time_str: 格式化字符串 如:2019-05-13 15:00:47 默认当前时间
- format_type: 格式化规则 如:%Y-%m-%d %H:%M:%S 默认%Y-%m-%d %H:%M:%S
- 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
- """
- return time.strptime(time_str, format_type)
- def getCurrentTimeStr():
- """
- description: 获取当前时间的可读形式字符串
- return: Mon May 13 11:27:42 2019 -> str
- """
- return time.ctime()
- def getCurrentTimeStrByTuple(tupleTime=time.localtime()):
- """
- description: 获取指定时间的可读形式字符串
- tupleTime: 时间元组 可通过time.localtime() or datetime.datetime.now().timetuple()获取 默认当前时间的元组
- return: Mon May 13 11:27:42 2019 -> str
- """
- return time.asctime(tupleTime)
- def sleepTime():
- """
- description: 推迟调用线程的运行
- """
- for i in range(4):
- print(i)
- time.sleep(3)
- # ======================
- # ====== datetime ======
- # ======================
- def getNowDateTime():
- """
- description: 获取当前日期&时间
- return: 2019-05-13 14:41:15 -> str
- """
- timestamps = str(datetime.datetime.now()).split(".")[0]
- return timestamps
- def getNowTime():
- """
- description: 获取当前时间
- return: 14:41:15 -> str
- """
- timestamps = str(datetime.datetime.now().time()).split(".")[0]
- return timestamps
- def getTodayDate():
- """
- description: 获取当前日期
- return: 2019-05-13 -> str
- tipe: datetime.datetime.now().date()有相同效果
- """
- timestamps = str(datetime.date.today())
- return timestamps
- def getTimeDate(times=time.time()):
- """
- description: 获取指定时间戳的日期
- time: 秒 默认当前时间
- return: 2019-05-13 -> str
- tips: 一天86400秒
- """
- timestamps = str(datetime.date.fromtimestamp(round(times)))
- return timestamps
- # 获取距离现在时间的任意时间的日期 正数 加,负数 减 return:2019-05-12
- def getAnyDateTime(day, hour=0, min=0, sec=0):
- """
- description: 获取距离现在时间的任意时间的日期&时间
- day: 天数 1代表当前时间+1天 -1代表当前时间-1天
- hour: 小时 2代表当前时间+2h -2代表当前时间-2h 默认=0
- min: 分钟 30代表当前时间+30min -30代表当前时间-30m 默认=0
- sec: 秒 120代表当前时间+120s -120代表当前时间-120s 默认=0
- return: 2019-05-15 15:37:41 -> str
- """
- return str(datetime.datetime.now() + datetime.timedelta(days=day, hours=hour, minutes=min, seconds=sec)).split(".")[0]
- def getAnyDateSecondTime(day, hour=0, min=0, sec=0):
- """
- description: 获取距离现在时间的任意时间的秒数
- day: 天数 1代表当前时间+1天 -1代表当前时间-1天
- hour: 小时 2代表当前时间+2h -2代表当前时间-2h 默认=0
- min: 分钟 30代表当前时间+30min -30代表当前时间-30m 默认=0
- sec: 秒 120代表当前时间+120s -120代表当前时间-120s 默认=0
- return: 1557902182 -> str
- """
- anyDay = datetime.datetime.now() + datetime.timedelta(days=day, hours=hour, minutes=min, seconds=sec)
- return str(round(time.mktime(anyDay.timetuple())))
- def getTodayTime():
- """
- description: 获取当天0点的时间戳
- return: 1557676800 -> str
- """
- return str(round(time.mktime(datetime.date.today().timetuple())))
- def getCurrentWeekTime():
- """
- description: 获取本周周一0点
- return: 1557676800 -> str
- tips: 可替换成: timestamps = time.mktime(time.strptime(time.strftime("%Y-%m-%d", time.localtime(times)), "%Y-%m-%d"))
- """
- week = int(time.strftime("%w", time.localtime()))
- times = round(time.time()) - (week - 1) * 86400
- timestamps = time.mktime(datetime.date.fromtimestamp(times).timetuple())
- return str(round(timestamps))
- def test():
- print(getCurrentMilliSecondTime())
- print(getCurrentSecondTime())
- print(getCurrentFormatTimeStr())
- print(getCurrentTimeTupleByFormatStr())
- print("=======")
- print(getCurrentTimeStr())
- print(getCurrentTimeStrByTuple(time.localtime()))
- print(getTimeByTuple(time.localtime()))
- print("=======")
- print(getNowDateTime())
- print(getNowTime())
- print(getNowDateTime())
- print(getTodayDate())
- print(getTimeDate(time.time() - 86400))
- print("=======")
- print(getAnyDateTime(2))
- print(getAnyDateSecondTime(2))
- print("=======")
- print(getTodayTime())
- print(getCurrentWeekTime())
- if __name__ == '__main__':
- print(test())
Python工具类(二)—— 操作时间相关的更多相关文章
- C#常用工具类——Excel操作类
/// 常用工具类——Excel操作类 /// <para> ------------------------------------------------</para> / ...
- [C#] 常用工具类——文件操作类
/// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在&l ...
- C#常用工具类——Excel操作类(ZT)
本文转载于: http://www.cnblogs.com/zfanlong1314/p/3916047.html /// 常用工具类——Excel操作类 /// <para> ----- ...
- Python工具类(一)—— 操作Mysql数据库
如何调用直接看__main__函数里如何调用此工具类就阔以啦! # encoding=utf-8 import pymysql # 导入所有Mysql配置常量,请自行指定文件 from conf.se ...
- java工具类--数据库操作封装类
java对数据库操作简单处理,如下代码即可,封装了 增删改查及获取连接.关闭连接. 代码如下: package com.test; import java.sql.Connection; import ...
- Java学习笔记49(DBUtils工具类二)
上一篇文章是我们自己模拟的DBUtils工具类,其实有开发好的工具类 这里使用commons-dbutils-1.6.jar 事务的简单介绍: 在数据库中应用事务处理案例:转账案例 张三和李四都有有自 ...
- java Arrays工具类的操作
package java08; /* java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作 public static String toStri ...
- java工具类(二)之java正则表达式表单验证
java正则表达式表单验证类工具类(验证邮箱.手机号码.qq号码等) 这篇文章主要介绍了java使用正则表达式进行表单验证工具类,可以验证邮箱.手机号码.qq号码等方法,需要的朋友可以参考下. jav ...
- Asp.Net 常用工具类---Config操作(7)
近期工作比较忙,忙到忘记写博客(自己的借口,主要加班下班后不想动). 月初的时候,打算每两天写一篇博文,分享自己的一些心得和开发体验,无奈现在只写到第六篇,然而时间已经是20号,岁月不饶人! 总想写点 ...
随机推荐
- jmeter登录配置
前言: jmeter, Apache下的测试工具, 常用来进行压测, 项目中, 接口通常都需要进行登录才能被调用, 直接调用将提示"登录失效", 下面介绍如何在jmeter中配置参 ...
- 【js】 vue 2.5.1 源码学习(六) initProxy initLifeCycle 渲染函数的作用域代理
大体思路 (五) 1. initProxy 渲染函数的作用域代理 ==> es6 如果支持proxy (hasProxy) 就用proxy 不支持就用 defineProperty() prox ...
- Vue基础练习之计算属性、方法、监听器
<body> <div id="root"> {{fullName()}} {{age}} </div> <script> var ...
- 【38.96%】【hdu 1540】Tunnel Warfare
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission ...
- Linux 内核提交 urb
一旦 urb 被正确地创建,并且被 USB 驱动初始化, 它已准备好被提交给 USB 核心来发送 出到 USB 设备. 这通过调用函数 usb_submit_urb 实现: int usb_submi ...
- 【2016福建省夏令营Day1】数据结构
Problem 1 楼房(build.cpp/c/pas) [题目描述] 地平线(x轴)上有n个矩(lou)形(fang),用三个整数h[i],l[i],r[i]来表示第i个矩形:矩形左下角为(l[i ...
- blink接收器
blink: [autorun] OPEN="AutoInst.exe" [AskRebootTitle] Dlg1=System Settings Change Dlg2=št ...
- P3157 动态逆序对 CDQ分治
动态逆序对 CDQ分治 传送门:https://www.luogu.org/problemnew/show/P3157 题意: 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对 ...
- 21.模块的执行以及__name__
执行结果: "E:\Program Files\JetBrains\PycharmProjects\python_demo\venv\Scripts\python.exe" &qu ...
- 关于java继承的哪些事
引言 本文结合一个例子来说明继承实现的基本原理. 基类Base代码如下所示: public class Base { public static int s; private int a; stati ...