Python时间日期处理:获取当前时间日期,可精确到微秒,时间日期,字符串与时间戳相互转换,简单实用

获取当前时间日期,精确到微秒,时间日期字符串与时间戳相互转换,字符串转时间戳

在python里处理时间总要用到 timedatetime 这两个库,有时候就很麻烦,于是我就整合了一下这两个东西,方便使用。

我这几个函数都支持精确到微秒的转换,应该还算比较方便的了

开箱即用,先来看看效果

使用 / usage:


函数 getTime():获取当前时间戳或者时间字符串,可精确到微秒,也可以只精确到秒,可手动选择

In [1]: getTime()
Out[1]: 1581275175.1046052


In [1]: getTime(formatMS = False)
Out[1]: 1581275175


In [1]: getTime(1)
Out[1]: '2020-02-10 03:06:15.104605'


In [1]: getTime(1, False)
Out[1]: '2020-02-10 03:06:15'

函数 toTimeStamp():字符串 / 时间字符串转时间戳,支持精确到秒或微秒,自动判断

In [1]: toTimeStamp('2020-02-10 03:06:15.104605')
Out[1]: 1581275175.104605



In [1]: toTimeStamp('2020-02-10 03:06:15')
Out[1]: '1581275175'

函数 toTimeString():数字时间戳转时间字符串,支持精确到秒或微秒,自动判断

In [1]: toTimeString(1581275175)
Out[1]: '2020-02-10 03:06:15'



In [1]: toTimeString(1581275175.104605)
Out[1]: '2020-02-10 03:06:15.104605'

代码 / code:

'''
时间小工具函数,方便进行时间处理
@author: PurePeace
@time: 2020年2月10日 02:42:55
'''

import time, datetime


# get now timeString or timeStamp
# 获取当前时间字符串或时间戳(都可精确到微秒)
def getTime(needFormat=0, formatMS=True):
    if needFormat != 0:
        return datetime.datetime.now().strftime(f'%Y-%m-%d %H:%M:%S{r".%f" if formatMS else ""}')
    else:
        ft = time.time()
        return (ft if formatMS else int(ft))


# timeString to timeStamp
# 时间字符串转时间戳(有无微秒都可)
def toTimeStamp(timeString):
    if '.' not in timeString: getMS=False
    else: getMS=True
    timeTuple = datetime.datetime.strptime(timeString, f'%Y-%m-%d %H:%M:%S{r".%f" if getMS else ""}')
    ft = float(f'{str(int(time.mktime(timeTuple.timetuple())))}'+(f'.{timeTuple.microsecond}' if getMS else ''))
    return (ft if getMS else int(ft))


# timeStamp to timeString
# 时间戳转时间字符串
def toTimeString(timeStamp):
    if type(timeStamp) == int: getMS=False
    else: getMS=True
    timeTuple = datetime.datetime.utcfromtimestamp(timeStamp+8*3600)
    return timeTuple.strftime(f'%Y-%m-%d %H:%M:%S{r".%f" if getMS else ""}')
    

结束

如果感觉好用给我点个赞吧)

猜你喜欢

转载自blog.csdn.net/qq_26373925/article/details/104243457