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";
    }
    }
}

相关文章
|
9天前
|
开发者 Python
Python中的f-string:更简洁的字符串格式化
Python中的f-string:更简洁的字符串格式化
183 93
|
9天前
|
Python
Python中的f-string:更简洁的字符串格式化
Python中的f-string:更简洁的字符串格式化
144 92
|
2月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
157 14
|
6月前
|
数据处理
鸿蒙开发:ArkTs字符串string
字符串类型是开发中非常重要的一个数据类型,除了上述的方法概述之外,还有String对象,正则等其他的用处,我们放到以后得篇章中讲述。
267 19
|
6月前
|
Java 程序员
课时16:String字符串
课时16介绍了Java中的String字符串。在Java中,字符串使用`String`类表示,并用双引号定义。例如:`String str = &quot;Hello world!&quot;;`。字符串支持使用“+”进行连接操作,如`str += &quot;world&quot;;`。需要注意的是,当“+”用于字符串与其他数据类型时,其他类型会先转换为字符串再进行连接。此外,字符串中可以使用转义字符(如`\t`、`\n`)进行特殊字符的处理。掌握这些基本概念对Java编程至关重要。
|
10月前
|
索引 Python
String(字符串)
String(字符串)。
188 3
|
11月前
|
NoSQL Redis
Redis 字符串(String)
10月更文挑战第16天
121 4
|
11月前
|
数据可视化 Java
让星星月亮告诉你,通过反射创建类的实例对象,并通过Unsafe theUnsafe来修改实例对象的私有的String类型的成员属性的值
本文介绍了如何使用 Unsafe 类通过反射机制修改对象的私有属性值。主要包括: 1. 获取 Unsafe 的 theUnsafe 属性:通过反射获取 Unsafe类的私有静态属性theUnsafe,并放开其访问权限,以便后续操作 2. 利用反射创建 User 类的实例对象:通过反射创建User类的实例对象,并定义预期值 3. 利用反射获取实例对象的name属性并修改:通过反射获取 User类实例对象的私有属性name,使用 Unsafe`的compareAndSwapObject方法直接在内存地址上修改属性值 核心代码展示了详细的步骤和逻辑,确保了对私有属性的修改不受 JVM 访问权限的限制
159 4
|
11月前
|
canal 安全 索引
(StringBuffer和StringBuilder)以及回文串,字符串经典习题
(StringBuffer和StringBuilder)以及回文串,字符串经典习题
114 5