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
odoo开发笔记 -- 当前时间&时间运算相关的更多相关文章
- odoo开发笔记--日期or时间字段给定默认值
开发中经常有这样的场景,需要给某个日期或者时间的字段默认值: 例如: 日期,默认今天 时间,默认当前时间 可以在odoo模型定义中进行设置, 如下样例提供参考: test_data = fields. ...
- odoo开发笔记 -- div标签代替odoo button写法
odoo开发笔记 -- div标签代替odoo button写法 并调用自定义js <footer> <div id="confirm_request_cloud_repo ...
- odoo开发笔记 -- 搜索视图继承扩展
odoo开发笔记 -- 搜索视图继承扩展
- odoo开发笔记 -- 后台日志输出及分析
odoo开发笔记 -- 后台日志输出及分析 附:日志分析软件
- odoo开发笔记 -- 附件上传
附件上传基本原理实现,可以参考这篇: https://www.cnblogs.com/ljwTiey/p/7348291.html http://blog.csdn.net/wangnan537/ar ...
- odoo开发笔记--前端搜索视图--按照时间条件筛选
odoo在日常使用中,常会有这样的需要,比如,某个列表按照 日 .周.月.年来过滤搜索. 效果: 那么如何实现呢,如下是一段不同写法的样例代码,提供参考. <!--某模型 搜索视图--> ...
- odoo开发笔记--python获取当天时间
取得时间相关的信息的话,要用到python time模块,python time模块里面有很多非常好用的功能,你可以去官方文档了解下,要取的当前时间的话,要取得当前时间的时间戳,时间戳好像是1970年 ...
- odoo开发笔记 -- odoo和postgresql数据库导入相关
odoo数据库 导入.导出 首先odoo框架下postgresql数据库中,表结构的存储方式: 存在id(小写),并没有所谓的外部ID 例如数据库中的国家表:模块名_tb_country (注意: ...
- odoo开发笔记 -- 前端开发相关
https://www.cnblogs.com/lyzg/p/5634565.html http://dmyz.org/archives/598 https://www.jianshu.com/p/6 ...
随机推荐
- HTTP认识
一.相关名词解释 1. 超文本:是指包含指向其他文档的超链接的文本 2. 万维网:简称web,是一个分布式的超媒体系统,它是超文本系统的扩充,以客户-服务器方式工作 3. 超媒体:文档包含文本,图片, ...
- python中#!含义
LINUX 上的 Shebang 符号(#!) #!这个符号叫做 Shebang 或者 Sha-bangShebang 通常在 Unix 系统脚本的中第一行开头使用指明执行这个脚本文件的解释程序 使用 ...
- Go基本运行编译命令解释
go run命令: 直接执行命令源码文件:一定要声明自己是在main包下,要是只有一个工作区,相应的文件就会存在bin文件下 go build: 把文件夹下的命令源码文件编译成直接运行文件,但是不能有 ...
- 设计模式--Proxy模式
这篇主要介绍代理模式相关内容,主要是一些基本概念普及. 代理模式 1.什么是代理模式? 代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问.[DP] 通俗的说就是指客户端并不直接调用 ...
- ovirt磁盘类型(IDE, virtio, virtio-scsi)
ovirt磁盘类型辨析(IDE, virtio, virtio-scsi) 通过一张表格,简单明了的说明这三种硬盘的不同: 整体上来看这三者的最大不同还是挂载磁盘的数量.根据在ovirt的上测试,一台 ...
- 实验十四 团队项目评审&课程学习总结(葛进花201671010413)
实验十四 团队项目评审&课程学习总结 项目 内容 这个作业属于哪个课程 软件工程 这个作业的要求在哪里 实验十四 作业学习目标 1)掌握软件编码实现的工程要求 2) 反思总结课程学习内容 任务 ...
- spark调优——JVM调优
对于JVM调优,首先应该明确,(major)full gc/minor gc,都会导致JVM的工作线程停止工作,即stop the world. JVM调优一:降低cache操作的内存占比 1. ...
- Mobx | 强大的状态管理工具 | 可以用Mobx来替代掉redux
来源简书 电梯直达 https://www.jianshu.com/p/505d9d9fe36a Mobx是一个功能强大,上手非常容易的状态管理工具.就连redux的作者也曾经向大家推荐过它,在不少情 ...
- 滚动加载|页面滑到底部加载数据|jquery.endless-scroll插件|使用demo
<html> <head> <link rel="dns-prefetch" href="http://i.tq121.com.cn&quo ...
- 前端jsp fetch跨域调用 is not allowed by Access-Control-Allow-Origin.
之前我在用json跨域调用时,遇到如图问题,后来查查是官方json不支持跨域调用,后来改用非官方的jsonp跨域调用后台方法,出现如下问题 Origin http://127.0.0.1:8080 i ...