首页 > 其他分享 >时间格式化转换及时间比较compareTo

时间格式化转换及时间比较compareTo

时间:2023-12-04 22:33:20浏览次数:28  
标签:00 格式化 ext1 ss dateTime 时间 DateTimeFormatter compareTo

时间格式化转换及时间比较compareTo

/**
* 时间格式的转换:在具体报错的地方做转换,可能不能从根本上面解决问题。不排除在其他的代码位置也会使用该错误格式的数据。
*
* 1.可以将数据源的数据批量格式化 yyyy-MM-dd (错误格式:yyyy-MM-dd 00:00:00)
* update tbl_test set ext1 = left(ext1,10) where RIGHT(`ext1`,8) = '00:00:00' and `create_date` >= '2022-10-01 00:00:00'
*
* ## 没有数据需要二次处理,查询需要批量更新的数据
* select * from tbl_test where RIGHT(`ext1`,8) = '00:00:00' and `create_date` >= '2022-10-01 00:00:00'
*
* 2.从源头接口入参的方法处 做错误格式的参数 做兼容处理。按统一的格式来作为入参。
*/

 

A,compareTo(B)

//compareTo 大于 = 1     A>B
//compareTo 小于 = -1   A < B
//compareTo 等于 = 0    A = B

package com.example.core.mydemo.date;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateTime2Test {

    public static final DateTimeFormatter DF2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    public static final DateTimeFormatter DF22 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");

    public static void main(String[] args) {
        String ss = "2023-11-26 21:00:15";
        System.out.println("ss=" + ss);

        ss = "2023-11-26 21:00";

        /**
         * 时间格式的转换:在具体报错的地方做转换,可能不能从根本上面解决问题。不排除在其他的代码位置也会使用该错误格式的数据。
         *
         * 1.可以将数据源的数据批量格式化 yyyy-MM-dd
         * update tbl_test set ext1 = left(ext1,10) where RIGHT(`ext1`,8)  = '00:00:00' and `create_date` >= '2022-10-01 00:00:00'
         *
         * ## 没有数据需要二次处理
         * select * from tbl_test where RIGHT(`ext1`,8)  = '00:00:00' and `create_date` >= '2022-10-01 00:00:00'
         *
         * 2.从源头接口入参的方法处 做错误格式的参数 做兼容处理。
         */
        if(ss.length() == 16){
            ss = ss + ":00";
        }
        LocalDateTime rentDateTime = LocalDateTime.parse(ss, DF2);
        System.out.println("rentDateTime=" + rentDateTime);


        DateTimeFormatter YYYYMMDD_FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd");
        String dateTimeStr = LocalDate.now().format(YYYYMMDD_FORMATTER);
        StringBuffer buffer = new StringBuffer(dateTimeStr);
        buffer.append("080000");
        Long dateTime = Long.valueOf(buffer.toString());
        System.out.println("dateTime=" + dateTime);

//        Long revertTime = 20231130140000L;
        Long revertTime = 20231204080000L;

        //compareTo  大于 = 1
        //compareTo  小于 = -1
        //compareTo  等于 = 0
        System.out.println("compareTo = " + dateTime.compareTo(revertTime));

        //找出revertTime大于当前时间的,标识为“符合”
        if (dateTime.compareTo(revertTime) == 1 || dateTime.compareTo(revertTime) == 0) {
            System.out.println("不符合");
        }else{
            System.out.println("符合");
        }

    }
}

 

标签:00,格式化,ext1,ss,dateTime,时间,DateTimeFormatter,compareTo
From: https://www.cnblogs.com/oktokeep/p/17876192.html

相关文章

  • after before compareTo
    入场日期要求晚于该人员在系统中登记的最后一次离场日期Java根据以上代码需求例子importjava.sql.*;importjava.util.Date;publicclassMain{publicstaticvoidmain(String[]args){//根据实际情况,替换以下连接信息Stringurl="jdbc:mysql:......
  • mysql和Oracle 查询某个时间之内的数据
    查询最近一个月的数据mysqlSELECTid,title,endtimefromclassroomwhereyears=2022anddate_sub(CURDATE(),interval1month)<endtime;DATE_SUB()函数从日期减去指定的时间间隔,本文是从当前时间减去一个月。CURDATE()函数表示当前年月日,NOW()函数表示当前年月......
  • go-carbon v2.2.14 发布,轻量级、语义化、对开发者友好的 Golang 时间处理库
    carbon是一个轻量级、语义化、对开发者友好的golang时间处理库,支持链式调用。目前已被awesome-go收录,如果您觉得不错,请给个star吧github.com/golang-module/carbongitee.com/golang-module/carbon安装使用Golang版本大于等于1.16//使用github库goget-ugithu......
  • js获取时间戳转化成日期格式的直接使用和封装
     一、在页面中直接使用1. 通过模板字符串使用:{{times}}2. 定义变量存放时间:data(){return{times:"",};},3. 在mounted()方法里调用:mounted(){constdate=newDate();constY=date.getFullYear();constM=date.getMonth()+1<10?"0"......
  • ARIMA模型,ARIMAX模型预测冰淇淋消费时间序列数据|附代码数据
    全文下载链接:http://tecdat.cn/?p=22511最近我们被客户要求撰写关于ARIMAX的研究报告,包括一些图形和统计输出。标准的ARIMA(移动平均自回归模型)模型允许只根据预测变量的过去值进行预测。该模型假定一个变量的未来的值线性地取决于其过去的值,以及过去(随机)影响的值。ARIMAX模型......
  • 数值与时间转换
    根据开始时间、预测时长(即几个月),给String数组的时间predictTime赋值,并返回double数组的时间tt/***获取预测时间段,封装进double类型数组,格式:202006*@parampredictionStart开始预测时间‘2023-01’*@parampredictionPoint预测时长*@parampredictTime......
  • Linux和Windows时间不一致问题
    问题描述装过双系统或者虚拟机装Linux的人都知道,Linux的时间和Windows往往是不同步的,在编写跨平台程序的时候特别是对时间敏感的代码就带来很大的困扰解决办法这个问题可以在Linux下解决先用命令查看时区timedatectl如果系统刚刚装好,没有设置好时区,有可能默认的是America/L......
  • O(1) 时间插入、删除和获取随机元素
    O(1)时间插入、删除和获取随机元素难度:简单|中等√|困难-------------------用时:18分钟(第一次)-------------------作题日期:2023-12-03ps:本人理解有限,以下是自我理解,官方和大佬有更完整和详细的解析!!!题目描述题目描述实现RandomizedSet类:Randomi......
  • 【pwn】puts or system? --格式化字符串漏洞泄露libc基址
    还是先看一下保护情况开了canary,接着看主函数逻辑看到这里的代码逻辑,我一开始是想通过printf泄露出canary的值,然后再用ret2libc来打,但是我发现这个libc不好泄露,一般的泄露的思路都是构造ROP,通过puts函数泄露出puts的got表内容,但是我在寻找rdi这个gadget的时候,是找不到的这也......
  • 3-5 极语言文档类、地址类、日期类、时间类——成员表
    中文名字英文名称长度作用解释文档类DOCINFO20用来显示打印对话框或打印设置对话框。函数:PrintDlg(lppd)文档类——成员表中文英文类型作用解释长度cbSize整数指定这个结构的大小,以字节为单位。名称lpszDocName整数指向指定文档名称的字符串输出lpszOutput整数指向指定输出文件名称......