python time和datetime模块,时间类型之间的转换关系

本文详细介绍了Python中time和datetime模块的使用方法,包括时间类型之间的转换,如字符串到时间元组,时间元组到时间戳,以及datetime类型到字符串的转换。通过实例演示了如何处理日期和时间数据。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''=================================================
@Project -> File   :time_test
@IDE    :PyCharm
@Author :zhangjun.xue.o
@Date   :2019-09-10 17:23
@Desc   :python time and datetime 模块,时间类型之间的转换关系总结
=================================================='''
import time
import datetime

start_time = '2019-08-1'
end_time = '2019-08-21'


def main(start_time, end_time):
    res = cmp(start_time, end_time)
    return res


def get_time_tuple():
    """
    获取time时间元组:<type 'time.struct_time'>
    :return:
    """
    return time.localtime()


def get_datetime_tuple():
    """
    获取datetime时间 <type 'datetime.datetime'>
    :return:
    """
    return datetime.datetime.now()


def datetime_to_str(date_time):
    """
    <type 'datetime.datetime'> TO <type 'str'>
    :param date_time:
    :return:
    """
    return date_time.strftime("%Y-%m-%d %H:%M:%S")


def timestr_to_datetime(time_str, time_str_param):
    """
    <type 'str'> TO <type 'datetime.datetime'>
    :param time_str:
    :param time_str_param:
    :return:
    """
    return datetime.datetime.strptime(time_str, time_str_param)


def timestr_to_timetuple(time_str, time_str_param):
    """
    <type 'str'> TO <type 'time.struct_time'>
    :param time_str:
    :param time_str_param:
    :return:
    """
    return time.strptime(time_str, time_str_param)


def timetuple_to_timespan(time_tuple):
    """
    时间元组 -- > 时间戳
    <type 'time.struct_time'> TO <type 'float'>
    :param time_tuple:
    :return:
    """
    return time.mktime(time_tuple)


if __name__ == "__main__":
    # res = main(end_time, start_time)
    # print '-- res = ', res
    pass

    time_str = '2019-09-01 10:10:10'
    print '-- time_str = ', time_str, type(time_str)
    print'\n'

    """ time """
    # 时间字符串 -> 时间元组
    time_tuple = timestr_to_timetuple(time_str, "%Y-%m-%d %H:%M:%S")
    print '-- time_time = ', time_tuple, type(time_tuple)
    print'\n'

    # 时间元组 - 时间戳
    time_temp = timetuple_to_timespan(time_tuple)
    print '-- time_temp = ', time_temp, type(time_temp)
    print'\n'

    # 时间元组 - 时间字符串
    time_now = get_time_tuple()  # 时间元组
    print '-- time_now = ', time_now, type(time_now)
    print'\n'

    time_string = time.strftime("%Y-%m-%d", time_now)
    print '-- time_string = ', time_string, type(time_string)  # 时间字符串
    print'\n'

    """ datetime """
    # 时间字符串 - datetime类型时间
    time_datetime = timestr_to_datetime(time_str, "%Y-%m-%d %H:%M:%S")
    print '-- time_datetime = ', time_datetime, type(time_datetime)
    print'\n'

    # datetime类型 - 时间字符串
    now = get_datetime_tuple()
    print '-- now = ', now, type(now)
    print'\n'

    datetime_str = datetime_to_str(now)
    print '-- datetime_str = ', datetime_str, type(datetime_str)
    print'\n'






输出:

-- time_str =  2019-09-01 10:10:10 <type 'str'>


-- time_time =  time.struct_time(tm_year=2019, tm_mon=9, tm_mday=1, tm_hour=10, tm_min=10, tm_sec=10, tm_wday=6, tm_yday=244, tm_isdst=-1) <type 'time.struct_time'>


-- time_temp =  1567303810.0 <type 'float'>


-- time_now =  time.struct_time(tm_year=2019, tm_mon=9, tm_mday=11, tm_hour=16, tm_min=11, tm_sec=10, tm_wday=2, tm_yday=254, tm_isdst=0) <type 'time.struct_time'>


-- time_string =  2019-09-11 <type 'str'>


-- time_datetime =  2019-09-01 10:10:10 <type 'datetime.datetime'>


-- now =  2019-09-11 16:11:10.616181 <type 'datetime.datetime'>


-- datetime_str =  2019-09-11 16:11:10 <type 'str'>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值