当前位置: 首页 > news >正文

Oracle 时间多少秒以后 oracle interval 多少分钟之前 Oracle日期1小时后 Java时间多少秒以后 Java日期多少天之前

Oracle 时间多少秒以后 oracle interval 多少分钟之前 Oracle日期1小时后 Java时间多少秒以后 Java日期多少天之前

一、概述

        在项目开发中,遇到一个类似于 超时关闭的订单(超过1分钟后关闭订单) 的需求,在数据的时间写入时,用的数据库系统的时间函数 SYSDATE , 而在处理超时时间时,用的是 JAVA应用程序时间处理。 在代码评审环节,大佬们给出的意见时,万一出现时间不一致的情况,会产生bug 。要改!统一用一个来源的时间 (统一用数据库时间 or 统一用java应用程序时间 )。

        大概流程是:

    

1、 数据写入,用数据库系统时间 
insert USER_order (id , lock_time) values ('1', sysdate) 2、超过一分后 时间获取是
new java.util.Date()  + 1分钟

基本环境信息:

      • 数据库: ORACLE 11G
      • JAVA: 万年不变的JDK8

问题定位:

        由于决定,统一使用 Oracle数据库的时间,那么问题变成: Oracle中时间获取多少分钟后。在Oracle中可以通过SYSDATE获取当前时间,加上组合 INTERVAL 实现时间的偏移量处理,本文将记录 SYSDATE和INTERVAL函数的用法。

        从点到线,本文也会记录 在java程序中,获取多少分钟后,获取多少小时后的时间 .

二、Oracle时间多少秒后

1、oracle 获取当前时间

-- oracle 获取当前时间
SELECTSYSDATE ,SYSTIMESTAMP
FROMdual ;

2、一年之后 , 一年之前的今天

SELECTSYSDATE ,  SYSDATE + INTERVAL '1' YEAR 一年后, SYSTIMESTAMP + INTERVAL '-1' YEAR "一年前"
FROMdual ;

3、一个月

SELECTSYSDATE ,  SYSDATE + INTERVAL '1' MONTH  , SYSTIMESTAMP + INTERVAL '-1' MONTH 
FROMdual ;

4、一天

SELECTSYSDATE ,  SYSDATE + INTERVAL '1' DAY  , SYSTIMESTAMP + INTERVAL '-1' DAY 
FROMdual ;

5、 一小时

SELECTSYSDATE ,  SYSDATE + INTERVAL '1' HOUR  , SYSTIMESTAMP + INTERVAL '-1' HOUR 
FROMdual ;

6、一分钟

SELECTSYSDATE ,  SYSDATE + INTERVAL '1' MINUTE  , SYSTIMESTAMP + INTERVAL '-1' HOUR 
FROMdual ;

7、 10秒钟

SELECTSYSDATE ,  SYSDATE + INTERVAL '10' SECOND  , SYSTIMESTAMP + INTERVAL '-10' SECOND 
FROMdual ;

三、Java时间多少秒后

1、使用 DateUtils工具类,依赖pom如下

<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.10</version>
</dependency>

2、相关测试代码如下:

/*** Description: java日期 多少分钟后/多少天后* @return void* @version v1.0* @author wu* @date 2023/7/28 18:00*/
@Test
public void dateAddTimeTest() throws Exception{final Date date = new Date();System.out.println("当前时间是:" +DateUtils.format(date,"yyyy-MM-dd HH:mm:ss"));System.out.println();// 1、一年后,一年前final Date date1 = DateUtils.addYears(date, 1);final Date date2 = DateUtils.addYears(date, -1);System.out.println("一年后:" +DateUtils.format(date1,"yyyy-MM-dd HH:mm:ss"));System.out.println("一年前:" +DateUtils.format(date2,"yyyy-MM-dd HH:mm:ss"));System.out.println();// 2、一个月final Date date3 = DateUtils.addMonths(date, 1);final Date date4 = DateUtils.addMonths(date, -1);System.out.println("一个月:" +DateUtils.format(date3,"yyyy-MM-dd HH:mm:ss"));System.out.println("一个月:" +DateUtils.format(date4,"yyyy-MM-dd HH:mm:ss"));System.out.println();// 3、一天final Date date5 = DateUtils.addDays(date, 1);final Date date6 = DateUtils.addDays(date, -1);System.out.println("一天后:" +DateUtils.format(date5,"yyyy-MM-dd HH:mm:ss"));System.out.println("一天前:" +DateUtils.format(date6,"yyyy-MM-dd HH:mm:ss"));// ignore more DateUtils time test ....
}

2.1、输出结果如下:

当前时间是:2023-07-28 18:23:12一年后:2024-07-28 18:23:12
一年前:2022-07-28 18:23:12一个月:2023-08-28 18:23:12
一个月:2023-06-28 18:23:12一天后:2023-07-29 18:23:12
一天前:2023-07-27 18:23:12

四、MyBatis中使用

1、在MyBatis中使用如下,注意使用 ${time} ,不能使用 #{time}

// 注意:拼接成 单引号的字符串 ,具体数值可以改到配置中心/*** 过期时间,单位:秒*/
@Value("${expire.time:60}")
private int expireTime;String time = "'".concat(String.valueOf(expireTime)).concat("'");-- myBatis sql 中写法如下
UPDATE USER_order
SET STATUS = '1'
WHERE LOCK_TIME <= SYSDATE+INTERVAL ${time} SECOND

五、总结

        1、Oracle中,实现获取多少时间之后、之前,可以通过 INTERVAL 函数来实现 ,其中 数值 > 0 ,则为之后; 数值 < 0 , 则为之前

SYSDATE + INTERVAL '10' 单位 
单位 可以数值是: 
YEAR 年
MONTH 月
DAY 日
HOUR 时
MINUTE 分
SECOND  秒

        2、在java程序中,可以使用 DateUtils.addXXX ,实现获取多少时间之前、之后。

相关文章:

Oracle 时间多少秒以后 oracle interval 多少分钟之前 Oracle日期1小时后 Java时间多少秒以后 Java日期多少天之前

Oracle 时间多少秒以后 oracle interval 多少分钟之前 Oracle日期1小时后 Java时间多少秒以后 Java日期多少天之前 一、概述 在项目开发中&#xff0c;遇到一个类似于 超时关闭的订单&#xff08;超过1分钟后关闭订单&#xff09; 的需求&#xff0c;在数据的时间写入时&#x…...

自动驾驶之轨迹规划8——Apollo参考线和轨迹

1. abstract 本文主要讲解routing和planning模块中的reference line&#xff0c;我之前一直搞不明白这个reference line是如何生成的&#xff0c;有什么作用&#xff0c;和routing以及planning的关系。现在有了一些心得打算梳理一下&#xff1a; 决策规划模块负责生成车辆的行…...

ES6 - promise.all和race方法的用法详解

文章目录 一、前言二、Promise.all()1&#xff0c;第一句&#xff1a;Promise.all()方法接受一个数组作为参数&#xff0c;且每一个都是 Promise 实例2&#xff0c;第二句&#xff1a;如果不是&#xff0c;就会先调Promise.resolve方法&#xff0c;将参数转为 Promise 实例再进…...

CAD .NET 15.0 企业版 Crack

CAD .NET 15.0 企业版 企业版 企业版 企业版 企业版 Updated: June 14, 2023 | Version 15.0 NEW CAD .NET is a library for developing solutions in .NET environment. It supports AutoCAD DWG/ DXF, PLT and other CAD formats. The library can be used in a wide rang…...

苍穹外卖day07——缓存菜品套餐+购物车功能实现

缓存菜品——需求设计与分析 问题说明 用户访问量过大带来的一个直接效果就是响应速度慢&#xff0c;使用体验下降。 实现思路 使用redis缓存菜品数据&#xff0c;减少数据库查询操作。 页面展示上基本就是同一个分类在同一页&#xff0c;所以key-value结构可以使用不同的分…...

学习笔记|大模型优质Prompt开发与应用课(二)|第四节:大模型帮你写代码,小白也能做程序

文章目录 01软件开发产业趋势与技术革新软件开发产业趋势与技术革新技术性人才很受欢迎软件开发产业趋势与技术革新技术门槛越来越低 02 大模型驱动的软件开发需求分析prompt 产品设计开发和测试prompt输出回复promptpromptprompt回复 发布和部署promptprompt 维护和更新prompt…...

建造者设计模式 + 高阶函数 => DSL

该设计模式适用于创建复杂对象&#xff0c;该复杂对象通常是由各个部分的子对象用一定的算法或者步骤构成&#xff0c;针对每个子对象内部算法和步骤通常是稳定的&#xff0c;但是该复杂对象的确实由于不同的需求而选择使用不同的子对象进行组装。对于构建该复杂的对象&#xf…...

重学C++系列之智能指针简单介绍

一、什么是智能指针 在使用堆内存时&#xff0c;就像使用栈内存空间一样&#xff0c;可以实现自释放的功能&#xff0c;智能指针在C库中也是类模板之一。 二、智能指针有几种 有四种。auto_ptr, unique_ptr, shared_ptr, weak_ptr 其中后三个是C11支持&#xff0c;第一个已经被…...

LabVIEW开发航天器动力学与控制仿真系统

LabVIEW开发航天器动力学与控制仿真系统 计算机仿真是工程设计和验证的非常有用的工具。它节省了大量的时间、金钱和精力。航天器动力学与控制仿真系统由LabVIEW程序开发&#xff0c;它是模拟航天器等动态系统的有用工具。还可轻松与硬件连接并输出真实信号。 项目采用系统工…...

享元模式——实现对象的复用

1、简介 1.1、概述 当一个软件系统在运行时产生的对象数量太多&#xff0c;将导致运行代价过高&#xff0c;带来系统性能下降等问题。例如&#xff0c;在一个文本字符串中存在很多重复的字符&#xff0c;如果每个字符都用一个单独的对象来表示&#xff0c;将会占用较多的内存…...

【GreenDao】关联表实现,父表关联多个子表

要在GreenDao中实现温湿度采集器表和采集数据表的关联&#xff0c;并在删除温湿度表时同时删除对应的采集数据&#xff0c;可以按照以下步骤进行操作&#xff1a; 在GreenDao的实体类中定义温湿度采集器表&#xff08;Parent Table&#xff09;和采集数据表&#xff08;Child …...

python网站创建005:数据交互

目标&#xff1a;本章讲解不同控件下&#xff0c; 数据在前端和后端之间的交互 控件有&#xff1a; 输入框 密码输入框 单选框 多选框 下拉框 多行文本框 不同控件中如何将数据传入后端&#xff1f;请看一下html代码 <!DOCTYPE html> <html> <head><meta …...

golang 字符串操作、处理

一、golang的字符串长度 1. len()内置系统函数&#xff0c;计算字符串结果是字符串的字节长度&#xff0c;不是字符长度 //1.ASCII字符串长度&#xff08;字节长度&#xff09; str1 : "wo ai zhong guo" fmt.Println(len(str1)) //15//2.带中文的字符串长度&…...

Nginx配置WebSocket反向代理

1、WebSocket协议 ​ WebSocket协议相比较于HTTP协议成功握手后可以多次进行通讯&#xff0c;直到连接被关闭。但是WebSocket中的握手和HTTP中的握手兼容&#xff0c;它使用HTTP中的Upgrade协议头将连接从HTTP升级到WebSocket。这使得WebSocket程序可以更容易的使用现已存在的…...

devops(后端)

1.前言 该devpos架构为gitlabjenkinsharbork8s&#xff0c;项目是java项目&#xff0c;流程为从gitlab拉取项目代码到jenkins&#xff0c;jenkins通过maven将项目代码打成jar包&#xff0c;通过dockerfile构建jdk环境的镜像并把jar包放到镜像中启动&#xff0c;构建好的镜像通…...

Ubuntu安装企业微信

Ubuntu安装企业微信_ubuntu下安装企业微信_星光2020的博客-CSDN博客 在Ubuntu环境安装企业微信可以参考 https://github.com/zq1997/deepin-wine 所述的方法 首先运行 $ wget -O- https://deepin-wine.i-m.dev/setup.sh | sh 然后就可以像安装其它软件一样安装企业微信或其它…...

Prometheus 的应用服务发现及黑河部署等

目录 promtool检查语法 部署Prometheus Server 检查语法是否规范 部署node-exporter 部署Consul 直接请求API进行服务注册 使用register命令注册服务&#xff08;建议使用&#xff09; 单个和多个注册&#xff0c;多个后面多加了s 在Prometheus上做consul的服务发现 部署…...

JAVA SE -- 第十二天

&#xff08;全部来自“韩顺平教育”&#xff09; 常用类 一、包装类 1、包装类的分类 ①针对八种基本数据类型相应的引用类型--包装类 ②有了类的特点&#xff0c;就可以调用类中的方法 ③ 基本数据类型包装类booleanBooleancharCharacterbyteByteshortShortintInteger…...

实战:工作中对并发问题的处理

大家好&#xff0c;我是 方圆。最近在接口联调时发生了数据并发修改问题&#xff0c;我想把这个问题讲解一下&#xff0c;并把当时提出的解决方案进行实现&#xff0c;希望它能在大家以后在遇到同样的问题时提供一些借鉴和思考的方向。原文还是收录在我的 Github: enthusiasm 中…...

腾讯云Cloud Studio:基于Claude快速完成Excel工资自动核算

目录 1 什么是Cloud Studio&#xff1f;2 注册与代码管理2.1 账号注册2.2 Git关联 3 实战&#xff1a;Excel工资自动核算3.1 创建项目与配置3.2 “念咒师”Claude GPT3.3 代码编写与运行 1 什么是Cloud Studio&#xff1f; Cloud Studio是腾讯云为开发者提供的一个基于浏览器的…...

开源音乐解锁工具:浏览器端全平台音频解密解决方案

开源音乐解锁工具&#xff1a;浏览器端全平台音频解密解决方案 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地址: https://…...

JavaSE从0到1-DAY7-内部类(i)

Java 内部类学习笔记&#xff08;i&#xff09; 一、为什么会有内部类&#xff1f; 核心作用 内部类是写在外部类里面的类&#xff0c;它的主要作用是&#xff1a; 逻辑封装&#xff1a;把只属于外部类的辅助功能封装起来&#xff0c;不暴露给外界访问权限&#xff1a;内部类可…...

数据库自动化指标采集与智能评分系统实践与构想

在数据库运维中&#xff0c;定期巡检是保障系统稳定性的基石。作者结合 MySQL 的运行机制&#xff0c;使用 Python 自主开发了一套数据库巡检脚本。本文将演示如何通过该脚本自动化采集 MySQL 的关键性能指标、生成可视化 HTML 报告&#xff0c;并引入综合评分机制评估数据库健…...

突破语言壁垒:FigmaCN开源插件让设计界面全中文呈现

突破语言壁垒&#xff1a;FigmaCN开源插件让设计界面全中文呈现 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 作为一名设计师&#xff0c;你是否也曾在使用Figma时因全英文界面而频繁…...

VibeVoice API接口调用案例:WebSocket流式通信实测

VibeVoice API接口调用案例&#xff1a;WebSocket流式通信实测 1. 项目概述 VibeVoice 是一个基于微软开源模型的实时语音合成系统&#xff0c;能够将文本内容快速转换为高质量的语音输出。这个系统特别适合需要实时语音交互的应用场景&#xff0c;比如语音助手、有声读物制作…...

2026指纹浏览器技术升级:从环境隔离到风控对抗

2026 年&#xff0c;互联网平台的风控技术迎来质的飞跃&#xff0c;传统的 “IP 切换”“参数修改” 已无法应对多维度的检测体系。指纹浏览器作为多账号运营的核心支撑&#xff0c;其技术迭代速度远超以往 —— 从简单的参数修改&#xff0c;到内核级虚拟化&#xff1b;从单一…...

HY-Motion 1.0实际效果:关节角度误差<3°、帧间抖动降低50%实测

HY-Motion 1.0实际效果&#xff1a;关节角度误差<3、帧间抖动降低50%实测 1. 效果惊艳的开场 如果你正在寻找一个能够真正理解文字描述并生成高质量3D动作的AI工具&#xff0c;HY-Motion 1.0的表现可能会让你惊喜。经过我们的实际测试&#xff0c;这个基于十亿参数的大模型…...

探索marked:高性能Markdown解析的Web开发工具解决方案

探索marked&#xff1a;高性能Markdown解析的Web开发工具解决方案 【免费下载链接】marked A markdown parser and compiler. Built for speed. 项目地址: https://gitcode.com/gh_mirrors/ma/marked 在现代Web开发中&#xff0c;Markdown解析作为内容呈现的关键环节&am…...

Mojo加速Python科学计算:从API绑定到内存零拷贝,5步完成CUDA级性能跃迁

第一章&#xff1a;Mojo加速Python科学计算&#xff1a;从API绑定到内存零拷贝&#xff0c;5步完成CUDA级性能跃迁Mojo 作为兼具 Python 兼容性与系统级性能的新一代编程语言&#xff0c;正重塑科学计算的性能边界。其核心优势在于原生支持异构硬件&#xff08;如 NVIDIA GPU&a…...

救命!2026爆款PPT一键制作工具实测,新手也能5分钟出片,告别熬夜手搓无标题

作为常年和PPT打交道的AI博主&#xff0c;每天都能收到粉丝私信轰炸&#xff1a;“做PPT有没有捷径&#xff1f;”“AI能不能帮我快速出稿&#xff1f;”“新手零基础&#xff0c;半天排不出一页像样的版面”……懂的都懂&#xff01;谁没为了一份PPT熬到凌晨&#xff1f;找模板…...