zoukankan      html  css  js  c++  java
  • python模块-time、datetime

    简单示例:

    常用函数封装:

    # -*- coding: utf-8 -*-
    # @Time : 2019/8/6 14:37
    # @Author : wangmengmeng
    import datetime
    import time
    import random
    
    
    class Tool:
        @staticmethod
        def get_ymd(d, h):
            """
            获取日期,格式为%Y-%m-%d
            :param d: d可取0(表示当前日期),正(表示当前日期+d天),负(表示当前日期-d天)
            :param h: 可取h0(表示当前日期),正(表示当前时间点+小时),负(表示当前日期-h小时)
            :return:
            """
            date = ((datetime.datetime.now() + datetime.timedelta(days=d)) + datetime.timedelta(hours=h)).strftime(
                "%Y-%m-%d")
            return date
    
        @staticmethod
        def get_date(d, h):
            """
            获取日期,格式为%Y-%m-%d %H:%M:%S
            :param d:
            :param h:
            :return:
            """
            date = ((datetime.datetime.now() + datetime.timedelta(days=d)) + datetime.timedelta(hours=h)).strftime(
                "%Y-%m-%d %H:%M:%S")
            return date
    
        @staticmethod
        def get_ts(d, h):
            """
            获取13位时间戳
            :param d:
            :param h:
            :return:
            """
            date = ((datetime.datetime.now() + datetime.timedelta(days=d)) + datetime.timedelta(hours=h)).strftime(
                "%Y-%m-%d %H:%M:%S")
            # ts = int(time.mktime(time.strptime(date, "%Y-%m-%d %H:%M:%S")))  # 获取10位时间戳
            ts = int(time.mktime(time.strptime(date, "%Y-%m-%d %H:%M:%S"))) * 1000  # 获取13位时间戳
            return ts
    
        @staticmethod
        def get_t(d, h):
            """
            获取10位时间戳
            :param d:
            :param h:
            :return:
            """
            date = ((datetime.datetime.now() + datetime.timedelta(days=d)) + datetime.timedelta(hours=h)).strftime(
                "%Y-%m-%d %H:%M:%S")
            # ts = int(time.mktime(time.strptime(date, "%Y-%m-%d %H:%M:%S")))  # 获取10位时间戳
            ts = int(time.mktime(time.strptime(date, "%Y-%m-%d %H:%M:%S"))) * 1000  # 获取13位时间戳
            return ts
    
        @staticmethod
        def get_endtoday():
            now = datetime.datetime.now()
            zeroToday = now - datetime.timedelta(hours=now.hour, minutes=now.minute, seconds=now.second,
                                                 microseconds=now.microsecond)
            lastToday = zeroToday + datetime.timedelta(hours=23, minutes=59, seconds=59)
            return lastToday
    
        @staticmethod
        def get_random(a, b):
            """
            生成一个指定范围内的整数
            :param a:
            :param b:
            :return:
            """
            return random.randint(a, b)

     strftime是转换为特定格式输出,而strptime是将一个(时间)字符串解析为时间的一个类型对象。一个是按照想要的格式,去转换。

  • 相关阅读:
    414. Third Maximum Number 第三大的数字
    java 正则表达式
    将含有逻辑运算符的字符串解析为逻辑符号
    ora-01830:日期格式图片在转换整个输入字符串之前结束
    mysql的字符拼接
    oracle执行计划详解
    oracle获取执行计划及优缺点 详解
    kmp算法中的nextval实例解释
    kmp算法中的next数组实例解释
    哈夫曼实例解释(哈夫曼编码)
  • 原文地址:https://www.cnblogs.com/wang-mengmeng/p/11376939.html
Copyright © 2011-2022 走看看