time&datetime&string相互转换

发布时间 2023-04-23 09:20:49作者: 木凌云
  1. time&datetime&string相互转换
import datetime
import time


# 日期时间字符串
st = "2017-11-23 16:10:10"
# 当前日期时间
dt = datetime.datetime.now()
# 当前时间戳
sp = time.time()

# 1.把datetime转成字符串
def datetime_toString(dt):
    print("1.把datetime转成字符串: ", dt.strftime("%Y-%m-%d %H:%M:%S"))


# 2.把字符串转成datetime
def string_toDatetime(st):
    print("2.把字符串转成datetime: ", datetime.datetime.strptime(st, "%Y-%m-%d %H:%M:%S"))


# 3.把字符串转成时间戳形式
def string_toTimestamp(st):
    print("3.把字符串转成时间戳形式:", time.mktime(time.strptime(st, "%Y-%m-%d %H:%M:%S")))


# 4.把时间戳转成字符串形式
def timestamp_toString(sp):
    print("4.把时间戳转成字符串形式: ", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(sp)))


# 5.把datetime类型转外时间戳形式
def datetime_toTimestamp(dt):
    print("5.把datetime类型转外时间戳形式:", time.mktime(dt.timetuple()))
    
# 6.把datetime类型转毫秒级时间戳形式 # 类似javascript里的Date.getTime()
def datetime2hmtimestamp(dt):
    dt = datetime.datetime.now()
    hmtimestamp = int(time.mktime(dt.timetuple()) * 1000 + dt.microsecond / 1000.0)
    
# 7.当前毫秒级时间戳
time_stamp = time.time() # 时间戳获取
print(time_stamp)
print(int(time_stamp)) # 秒级时间戳
print(int(round(time_stamp * 1000))) # 毫秒级时间戳