String字符串类型时间比较(根据时间判断返回 ‘已结束’或‘进行中‘’)

简介: String字符串类型时间比较(根据时间判断返回 ‘已结束’或‘进行中‘’)

简介:当时要写一个状态判断,然后自己就写出了一个时间比较的方法。当结束时间大于今天返回已结束,否则就是实习中。

主要是利用的compareTo方法:

左边的参数(begDate)如果小于右边的参数(endData)返回-1;反之返回1;相等返回0

System.out.println("参数 : "+begDate.compareTo(endData));

代码:

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Duration;
import java.time.LocalDate;
import java.time.temporal.Temporal;
import java.util.Date;
public class ShiJianBiJiao {
  public static void main(String[] aegs) throws ParseException {
//    ShiJianBiJiao shiJianBiJiao = new ShiJianBiJiao();
    /***
     * 第一个参数为开始时间,
     * 第二个为结束时间,
     * 当结束时间大于开始时间,
     * 并且结束时间大于今天
     * 返回"已结束"
     * **/
    //第一个参数为开始时间,第二个为结束时间。  当结束时间大于开始时间,并且结束时间大于今天返回"已结束"
    System.out.println(Timecompare("2022-08-01", "2023-09-05"));
  }
  public static  String Timecompare(String begTime,String endTime) throws ParseException {
    try {
      //注意format的格式要与日期String的格式相匹配
          DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
          Date begDate  = sdf.parse(begTime);//开始时间
          Date endData = sdf.parse(endTime);//结束时间
          SimpleDateFormat dateFormat   = new SimpleDateFormat("YYYY-MM-dd");
          String aString = dateFormat.format(new Date());
          System.out.println("开始时间:    "+dateFormat.format(begDate));
          System.out.println("结束时间:    "+dateFormat.format(endData));
          System.out.println(LocalDate.now());
          //比较结束时间是否早于开始时间
          if (begDate.compareTo(endData) > 0) {
              return "开始时间大于结束时间";//0代表开始时间大于结束时间
          }
          /**
           * 左边的参数(begDate)如果小于右边的参数(endData)返回-1
           * 反之返回1
           * 相等返回0
           * 
           * */
          System.out.println("参数 : "+begDate.compareTo(endData));
          /**
           * 比较结束时间是否大于当前时间
           * (可以将aString 换成 LocalDate.now().toString())
           * 
           * */
         if(endData.compareTo(new Date()) < 0 && !endTime.equals(aString)){
         return "已结束";
      }
          return "进行中";
    } catch (Exception e) {
      StackTraceElement stackTraceElement =e.getStackTrace()[0];
      System.out.println("异常信息:"+e);
      return "请输入正确的时间格式:YYYY-MM-DD";
    }
    }
}

相关文章
|
4天前
|
Java 索引
String字符串常用函数以及示例 JAVA基础
String字符串常用函数以及示例 JAVA基础
string(字符串)
在 Lua 中,字符串可以用双引号或单引号定义,如 `string1 = &quot;this is string1&quot;` 和 `string2 = &#39;this is string2&#39;`。多行字符串可由两个方括号包围,例如 `html` 变量所示,它包含了一个 HTML 片段。Lua 会尝试将数字字符串转换为数值进行算术运算,但混合字符串和数字可能导致错误,如 `&quot;error&quot; + 1`。
|
1天前
channelSftp.put(InputStream src, String dst, int mode);里的mode都是什么类型的
【5月更文挑战第15天】channelSftp.put(InputStream src, String dst, int mode);里的mode都是什么类型的
23 2
|
3天前
|
存储 Java
Java基础复习(DayThree):字符串基础与StringBuffer、StringBuilder源码研究
Java基础复习(DayThree):字符串基础与StringBuffer、StringBuilder源码研究
Java基础复习(DayThree):字符串基础与StringBuffer、StringBuilder源码研究
|
4天前
|
JavaScript 前端开发
TypeScript内置类型一览(Record<string,any>等等)(下)
TypeScript内置类型一览(Record<string,any>等等)
|
4天前
|
JavaScript
TypeScript内置类型一览(Record<string,any>等等)(中)
TypeScript内置类型一览(Record<string,any>等等)
|
4天前
|
JavaScript
TypeScript内置类型一览(Record<string,any>等等)(上)
TypeScript内置类型一览(Record<string,any>等等)
|
5天前
|
Java
Java String类型转换成Date日期类型
Java String类型转换成Date日期类型
|
5天前
|
消息中间件 数据采集 SQL
DataWorks操作报错合集之通过dataworks把表数据发送到kafka,表字段全是string类型如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
23 2
|
5天前
|
缓存 安全 Java
【Java基础】String、StringBuffer和StringBuilder三种字符串对比
【Java基础】String、StringBuffer和StringBuilder三种字符串对比
9 0