zoukankan      html  css  js  c++  java
  • odoo开发笔记 -- 当前时间&时间运算相关

    当前日期/时间:

    from datetime import datetime, timedelta
    
    now_time = datetime.now()
    today_date_format = now_time.strftime('%Y-%m-%d 00:00:00')
    today_time_format = now_time.strftime('%Y-%m-%d')

    时间格式转换:

    时间运算:(加减8个小时)

    return_time = (datetime.now() + timedelta(hours=8)).strftime('%Y-%m-%d %H:%M:%S%f')

    示例1:输入一段时间字符,跟当前时间,比较大小:

    # -*- coding: utf-8 -*-
    import datetime
    import time
    
    def time_compare(timestr):
        # 将日期字符串转为时间再比较,time,datetime,str
        # timestr 是传入的时间字符串,格式如:2019-11-25 00:00:00
        # 获取当前时间日期
        now_time_str = datetime.datetime.now().strftime('%Y-%m-%d')
        print(now_time_str)
        # mktime参数为struc_time,将日期转化为秒,
        e_time = time.mktime(time.strptime(now_time_str, "%Y-%m-%d"))
        print(e_time)
        try:
            s_time = time.mktime(time.strptime(timestr, '%Y-%m-%d %H:%M:%S'))
            print(s_time)
            # 日期转化为int比较
            diff = int(e_time) - int(s_time)
            print(diff)
            if diff > 0:
                # 当前时间 大于 输入时间
                return True
            else:
                # 当前时间 小于 输入时间
                return False
        except Exception as e:
            print(e)
            return False

    示例2:输入一段时间字符,加减某段时间(几天),计算结果,跟当前时间比较:

    def time_compare_operation(time_str, delay_days):
        # 传入日期字符串+时间间隔(delay_days整数-单位/天) 跟当前时间 比较大小
        # 等效 传入日期字符串 和 当前时间-时间间隔(整数-单位:天) 比较大小  ---因为直接用当前时间做计算方便
        # time_str格式:2019-11-25 00:00:00
        # 获取当前时间日期 - 预警时间
        result_time_str = (datetime.datetime.now() - datetime.timedelta(days=delay_days)).strftime("%Y-%m-%d %H:%M:%S")
        print(result_time_str)
        result_time = time.mktime(time.strptime(result_time_str, "%Y-%m-%d"))
    
        try:
            s_time = time.mktime(time.strptime(time_str, '%Y-%m-%d %H:%M:%S'))
            print(s_time)
            # 日期转化为int比较
            diff = int(result_time) - int(s_time)
            print(diff)
            if diff > 0:
                # 当前时间 大于 传入日期字符串+时间间隔(整数-单位:天)
                return 'greater'
            elif diff == 0:
                # 当前时间 等于 传入日期字符串+时间间隔(整数-单位:天)
                return 'equal'
            else:
                # 当前时间 小于 传入日期字符串+时间间隔(整数-单位:天)
                return 'less'
        except Exception as e:
            print(e)
            return False
  • 相关阅读:
    15:链表中倒数第K个节点
    14:调整数组顺序使奇数位于偶数的前面
    13:在O(1)时间内删除单向链表中的一个节点
    centos7下zookeeper集群安装部署
    zabbix3.2监控mysql
    解决关于confluence缓慢 字体乱码 宏乱码 编辑不能贴图等问题
    nginx日志文件的定时切割与归纳
    centos7安装sonarqube6.7 代码质量管理平台
    centos7下安装vnc更改vnc默认端口号
    centos7安装java环境和maven环境
  • 原文地址:https://www.cnblogs.com/hellojesson/p/11922170.html
Copyright © 2011-2022 走看看