python之时间模块的处理

1.时间转字符串

def datetime_to_string(mydate, rule='%Y-%m-%d %H:%M:%S'):
    """
    将datetime.datetime转为string
    :param mydate:
    :return:
    """
    if isinstance(mydate, datetime.datetime) or isinstance(mydate, datetime.date):
        return mydate.strftime(rule)
    else:
        return mydate

2.字符串转时间

def string_to_datetime(mystr, rule='%Y-%m-%d %H:%M:%S'):
    """
    将string转为 datetime.datetime
    :param mydate:
    :return:
    """
    if isinstance(mystr, str) or isinstance(mystr, unicode):
        return datetime.datetime.strptime(mystr, rule)
    else:
        return mystr

3.字符串转时间

def string_to_datetime(mystr, rule='%Y-%m-%d %H:%M:%S'):
    """
    将string转为 datetime.datetime
    :param mydate:
    :return:
    """
    if isinstance(mystr, str) or isinstance(mystr, unicode):
        return datetime.datetime.strptime(mystr, rule)
    else:
        return mystr

4.unix时间戳转字符串

def unix_time_to_str(unix_time, rule='%Y-%m-%d %H:%M:%S'):
    """
    unix时间转str
    :param unix_time:
    :param rule:
    :return:
    """
    date = unix_time_to_datetime(unix_time)
    return datetime_to_string(date, rule)

5.字符串转unix时间戳

def string_to_unix_time(_str, rule='%Y-%m-%d %H:%M:%S'):
    """
    str 转unix时间戳
    :param _str:
    :param rule:
    :return:
    """
    _time = string_to_datetime(_str, rule)
    return time.mktime(_time.timetuple()) * 1000

6.unix时间戳转时间

def unix_time_to_datetime(unix_time):
    """
    unix时间戳转datetime
    :param _str:
    :param rule:
    :return:
    """
    try:
        _time = datetime.datetime.fromtimestamp(unix_time)
    except ValueError:
        try:
            _time = datetime.datetime.fromtimestamp(unix_time / 1000)
        except ValueError:
            _time = unix_time
    else:
        _time = unix_time
    return _time

7.时间转unix时间戳

def datetime_to_unix(_time):
    """
    unix时间戳转datetime
    :param _str:
    :param rule:
    :return:
    """
    if isinstance(_time, datetime.datetime):
        return time.mktime(_time.timetuple())
    else:
        return _time

8.关于时间差计算

def seconds_to_hour(num):
    """
    秒转时分秒
    :param num:
    :return:
    """
    h = num // 3600
    num = num % 3600
    m = num // 60
    s = num % 60
    return '%d小时%d分钟%d秒'%(h,m,s)
#前推或后退时间
startTime = endTime - datetime.timedelta(seconds=seconds)
#时间差计算
maxTime = max(createTimeList)
minTime = min(createTimeList)
totalOnline = maxTime - minTime
totalOnline = seconds_to_hour(totalOnline.seconds)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值