首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在java中检查元素中的字符串是“有效日期格式”、“今天”还是“昨天”

在Java中,我们可以使用SimpleDateFormat类来检查一个字符串是否符合有效日期格式,并判断该日期是"今天"还是"昨天"。下面是一个完善且全面的答案:

  1. 有效日期格式是指符合一定的格式要求的日期字符串,比如"yyyy-MM-dd"表示年-月-日的格式,"yyyy/MM/dd"表示年/月/日的格式等。
  2. 若要检查一个字符串是否是有效日期格式,可以使用SimpleDateFormat类的parse方法,将字符串解析成Date对象。如果解析成功,则说明字符串是有效日期格式;如果解析失败,则说明字符串不是有效日期格式。

下面是一个示例代码:

代码语言:txt
复制
import java.text.SimpleDateFormat;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        String dateString = "2022-01-01";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        try {
            Date date = sdf.parse(dateString);
            System.out.println("字符串是有效日期格式");
            // 在此可以根据需要进行下一步操作,比如判断是"今天"还是"昨天"
        } catch (Exception e) {
            System.out.println("字符串不是有效日期格式");
            // 在此可以根据需要进行下一步操作,比如给出错误提示
        }
    }
}
  1. 在判断日期是否为"今天"或"昨天"时,我们可以利用java.util.Date类和java.time包提供的相关类来实现。具体的做法如下:
  • 获取当前时间的Date对象和给定日期的Date对象;
  • 使用java.time.LocalDate类将这两个Date对象转换成LocalDate对象;
  • 通过比较两个LocalDate对象的差值来确定给定日期是"今天"还是"昨天"。

下面是一个示例代码:

代码语言:txt
复制
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        String dateString = "2022-01-01";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        try {
            Date date = sdf.parse(dateString);
            System.out.println("字符串是有效日期格式");
            
            LocalDate currentDate = LocalDate.now();
            LocalDate givenDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

            long daysDiff = ChronoUnit.DAYS.between(givenDate, currentDate);

            if (daysDiff == 0) {
                System.out.println("给定日期是今天");
            } else if (daysDiff == 1) {
                System.out.println("给定日期是昨天");
            } else {
                System.out.println("给定日期不是今天也不是昨天");
            }

        } catch (Exception e) {
            System.out.println("字符串不是有效日期格式");
            // 在此可以根据需要进行下一步操作,比如给出错误提示
        }
    }
}

以上是完善且全面的答案,希望能帮助到你。对于Java中检查日期格式和判断日期是"今天"还是"昨天"的问题,推荐使用腾讯云的云服务器(CVM)作为开发环境,以确保稳定和安全。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java8中关于日期和时间API的20个使用示例

; } // 昨天先于今天! 在Java 8中比较日期非常方便,不需要使用额外的Calendar类来做这些基础工作了。...示例 14、如何在Java8中检查闰年 LocalDate类有一个很实用的方法isLeapYear()判断该实例是否是一个闰年,如果你还是想重新发明轮子,这有一个代码示例,纯Java逻辑编写的判断闰年的程序...示例 19、如何在Java中使用自定义格式化工具解析日期 上个例子使用了Java内置的格式化工具去解析日期字符串。...尽管内置格式化工具很好用,有时还是需要定义特定的日期格式,下面这个例子展示了如何创建自定义日期格式化工具。例子中的日期格式是“MMM dd yyyy”。...和前面类似,还是需要创建DateTimeFormatter实例并传入格式,但这回调用的是format()方法,而非parse()方法。这个方法会把传入的日期转化成指定格式的字符串。

2.7K20

有了这个日期工具类,让日期转化不再烦恼

想必程序员在开发过程中,遇到日期转化肯定避免不了的。它让人爱恨不已,而有些又记不住,每次遇到都得问度娘。我最近在开发过程中亦是如此。 为了让自己更好的记忆,方便以后遇到日期类型转化相关开发。...因此,自己作了适当的整理,编写了一个日期工具类,包括获得今天日期、昨天日期、明天日期、日期和字符串之间转化等相关转化。希望这个日期工具类,也能提高你对日期转化的开发效率。...* 日期字符串转化为指定日期格式类型 * @param date_str 日期字符串 * @param pattern 日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日...; } /** * 获得指定日期的后一天 * @param date_str 指定日期字符串 * @param pattern 日期格式类型,如yyyy-MM-dd...当然,代码里面有部分是冗余的,主要是为了方便让大家清晰看懂。你看懂理解后,可以根据业务需要进行适当的修改。

1.1K20
  • Java8新特性之日期、时间操作

    true 在java8中如何检查重复事件,比如生日 在java中还有一个与时间日期相关的任务就是检查重复事件,比如每月的账单日 如何在java中判断是否是某个节日或者重复事件,使用MonthDay类。...如何在java8中获取当前时间 这个与第一个例子获取当前日期非常相似,这里用的是LocalTime类,默认的格式是hh:mm:ss:nnn /** * 6....// 一年前的日期是: 2019-02-06 // 一年后的日期是: 2021-02-06 在java中如何判断某个日期在另一个日期的前面还是后面 如何判断某个日期在另一个日期的前面还是后面或者相等...在java中如何判断某个日期在另一个日期的前面还是后面 */ LocalDate today = LocalDate.now(); System.out.println("今天的日期是: " + today...%n", goodFriday); e.printStackTrace(); } 如何在java8中对日期进行格式化,转换成字符串 在这个例子我们相反,是把日期转换成字符。

    6.5K10

    Java8新日期处理API

    Java8是如何处理时间及日期的 1、如何在java8中获取当天的日期 java8中有个叫LocalDate的类,能用来表示今天的日期。...5、在java8中如何检查重复事件,比如生日 在java中还有一个与时间日期相关的任务就是检查重复事件,比如每月的账单日 如何在java中判断是否是某个节日或者重复事件,使用MonthDay类。...14、如何在java8中检查闰年 LocalDate类由一个isLeapYear()方法来返回当前LocalDate对应的那年是否是闰年 ?...在DateTimeFormatter中还有很多定义好的格式,有兴趣的可以自己去看一下 19、如何在java中使用自定义的格式器来解析日期  在上例中,我们使用了预置的时间日期格式器来解析日期字符串了...20、如何在java8中对日期进行格式化,转换成字符串  前面的两个例子中,我们主要是对日期字符串来进行解析转换成日期,在这个例子我们相反,是把日期转换成字符。

    4.2K100

    Java 8新的时间日期库的20个使用示例

    示例11 在Java中如何判断某个日期是在另一个日期的前面还是后面 这也是实际项目中常见的一个任务。你怎么判断某个日期是在另一个日期的前面还是后面,或者正好相等呢?...示例14 如何在Java 8中检查闰年 这并没什么复杂的,LocalDate类有一个isLeapYear()的方法能够返回当前LocalDate对应的那年是否是闰年。...你可以看到生成的日期与指定字符串的值是匹配的,就是日期格式上略有不同。 示例19 如何在Java中使用自定义的格式器来解析日期 在上例中,我们使用了内建的时间日期格式器来解析日期字符串。...当然了,预定义的格式器的确不错但有时候你可能还是需要使用自定义的日期格式,这个时候你就得自己去创建一个自定义的日期格式器实例了。下面这个例子中的日期格式是”MMM dd yyyy”。...示例20 如何在Java 8中对日期进行格式化,转换成字符串 在上两个例子中,尽管我们用到了DateTimeFormatter类但我们主要是进行日期字符串的解析。在这个例子中我们要做的事情正好相反。

    2.1K20

    Python快速学习第一天

    1.1、如何在Python中使用字符串 a、使用单引号(') 用单引号括起来表示字符串,例如: str='this is string'; print str; b、使用双引号(") 双引号中的字符串与单引号中的字符串用法完全相同...repr(x) 将对象x转换为表达式字符串 eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s) 将序列s转换为一个元组 list(s) 将序列s转换为一个列表...键必须独一无二,但值则不必;值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。 8.2、访问字典里的值 #!...9.2、获取格式化的时间 可以根据需求选取各种格式,但是最简单的获取可读的时间模式的函数是asctime(): 2.1、日期转换为字符串 首选:print time.strftime('%Y-%m-...=datetime.date(datetime.date.today().year,datetime.date.today().month,1)-datetime.timedelta(1) 9.6、字符串日期格式化为秒数

    3.8K50

    java中关于时间的用法示例

    有了新的DateTimeFormatter之后日期的解析及格式化也变得焕然一新了。随便提一句,我是在去年这个时候Java正要推出这个新功能时写的这篇文章,所以你会发现示例中的时间都还是去年的。...示例11 在Java中如何判断某个日期是在另一个日期的前面还是后面   这也是实际项目中常见的一个任务。你怎么判断某个日期是在另一个日期的前面还是后面,或者正好相等呢?...示例19 如何在Java中使用自定义的格式器来解析日期   在上例中,我们使用了内建的时间日期格式器来解析日期字符串。...当然了,预定义的格式器的确不错但有时候你可能还是需要使用自定义的日期格式,这个时候你就得自己去创建一个自定义的日期格式器实例了。下面这个例子中的日期格式是”MMM dd yyyy”。...示例20 如何在Java 8中对日期进行格式化,转换成字符串   在上两个例子中,尽管我们用到了DateTimeFormatter类但我们主要是进行日期字符串的解析。

    1.4K20

    新来CTO 强烈禁止使用Calendar...,那用啥?

    示例4:Java 8中判断两个日期是否相等 示例5:Java 8中检查像生日这种周期性事件 示例6:Java 8中获取当前时间 示例7:Java 8中获取当前时间 示例8:Java 8如何计算一周后的日期...示例9:Java 8计算一年前或一年后的日期 示例10:Java 8的Clock时钟类 示例11:如何用Java判断日期是早于还是晚于另一个日期 示例12:Java 8中处理时区 示例13:如何表示信用卡到期这类固定日期...,答案就在YearMonth 示例14:如何在Java 8中检查闰年 示例15:计算两个日期之间的天数和月数 示例16:在Java 8中获取当前的时间戳 示例17:Java 8中如何使用预定义的格式化工具去解析或格式化日期...带时区的时间 9 Clock 时钟,比如获取目前美国纽约的时间 10 java.time.format.DateTimeFormatter 时间格式化 示例1:Java 8中获取今天的日期 Java...判断日期是早于还是晚于另一个日期 另一个工作中常见的操作就是如何判断给定的一个日期是大于某天还是小于某天?

    1K40

    如何快速判断一个用户是否访问过我们的 APP?

    url 地址,根据该地址可以访问存储的对象,把记录写到 Redis 中,格式如:,其中 key 是日期信息, value 是 WOS 当天文件对应的 url delivery 初始化时,先根据前一天日期从...Redis 中查是否有写入 WOS,如果昨天没有则取前天的,有就取昨天的。...从 WOS 读取数据到内存中,存放到 byte 数组中,然后反序列化成 BloomFilter 对象,成功后,在内存中记录本地的模型日期,供定时检查模型更新对比使用,delivery 启动后会起定时任务每隔...回滚操作主要分为两种,一种是回滚到昨天的模型,另一种是重跑今天的模型 回滚到昨天的模型 首先,昨天的模型一定是正常的,然后通过在 cdb 平台手动更新 Redis 数据,将 key = rt_20200007...的 value 改成昨天的 WOS url 然后在 Nacos 中触发重新加载模型操作 重跑今天的模型 可能当天的任务跑的数据有问题,需要提供 RT 数据的定时任务重新跑数据,跑完后,手动触发 dsp_jar_task

    1.3K20

    Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例

    获取当前日期、时间、星期几、指定格式的日期时间、时间戳包含使用示例 使用示例 tvDate.setText(DateUtil.getNowDate());//获取当前日期 tvTime.setText...(DateUtil.getNowTimeDetail());//获取当前完整的日期和时间包含毫秒 只要修改前面的控件就可以了,我是用的TextView,修改即可。...日期时间格式 格式说明 小写的yyyy 表示4位年份数字,如2010、2020等 大写的MM 表示两位月份数字,如01表示一月份,12表示12月份 小写的dd 表示两位日期数字,如09表示当月9号,26...表示当月26号 大写的HH 表示24小时制的两位小时数字,如22表示晚上10点 小写的hh 表示12小时制的两位小时数字,如06可同时表示早上6点与傍晚6点,容易产生歧义所以实际开发中很少用 小写的mm...表示两位分钟数字,如45表示某点45分 小写的ss 表示两位秒钟数字 大写的SSS 表示三位毫秒数字 时间格式内部其余的横线“-”、空格“ ”、冒号“:”、点号“.”等字符仅仅是连接符,方便观看各种单位的时间数字而已

    5.7K10

    分享近百道JavaScript 基础面试题,帮助你巩固JavaScript 基础知识

    如何在 JavaScript 中将字符串转换为日期对象? 可以使用 Date() 构造函数或 new Date() 方法将字符串转换为日期对象。 72....82.在JavaScript中如何将字符串转换为特定格式的日期对象?...可以使用 Moment.js 等库或使用日期对象的方法(如 getFullYear()、getMonth()、getDate() 等)从特定格式的字符串构造日期对象。 83....在 JavaScript 中如何检查一个值是否为数字? 可以使用 typeof 运算符检查值是否属于“数字”类型,或使用 isNaN() 函数检查它是否为有效数字。...JavaScript 中 toLocaleString() 方法的用途是什么? toLocaleString() 方法返回一个字符串,该字符串表示使用特定于语言环境的格式的数组元素。 90.

    34610

    【JavaWeb】81:js事件以及常用对象

    今天是刘小爱自学Java的第81天。 感谢你的观看,谢谢你。 话不多说,开始今天的学习: ? 学前端有一个非常权威的组织,也就是w3c,其有个专门的教程文档,特别的全面。...其实js中的所有知识点都可以在文档中学习。 但我这边主要还是学Java,不可能花大量的时间去学js,只学一个大概。 以后遇到问题,查文档能看懂即可。...①关于数组遍历 在Java中数组直接打印是一串地址,但是在js中数组是可以直接打印的,数字之间用逗号隔开。 至于数组遍历,js和Java中一样,也是for循环遍历数组中的每一个元素,索引位从0开始。...其中值得注意的是:反转、排序方法是对数组本身产生了修改。 而其它方法对数组本身没有影响,只是形成了一个新的数组。 2日期对象 ? ①日期对象 直接打印是一串英文格式的日期。...有点类似于Java中的静态方法,但是js中更简洁,连类名都没有的。 ? ①parseInt() 在Java中Integer类就有一个静态方法parseInt(),作用就是将字符串转换成int类型。

    1.8K20

    SpringBoot入门建站全系列(三十三)集成validator校验接口数据

    检查带注释的日期是现在还是将来 java.util.Date,java.util.Calendar,java.time.Instant,java.time.LocalDate,java.time.LocalDateTime...,java.time.chrono.MinguoDate,java.time.chrono.ThaiBuddhistDate; @PastOrPresent 检查带注释的日期是过去还是现在 java.util.Date...BigDecimal,BigInteger,byte,short,int,long和原始类型的相应的包装类 @NegativeOrZero 检查元素是负数还是零。...BigDecimal,BigInteger,byte,short,int,long和原始类型的相应的包装类 @NegativeOrZero 检查元素是正数还是零。...java.time.Duration @EAN 检查带注释的字符序列是有效的EAN条形码。 CharSequence @ISBN 检查带注释的字符序列是有效的ISBN。

    1.1K10

    18 个 Java8 日期处理的实践,太有用了!

    Java 8 日期处理 Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。...带时区的时间 9 Clock 时钟,比如获取目前美国纽约的时间 10 java.time.format.DateTimeFormatter 时间格式化 示例1:Java 8中获取今天的日期 Java...); } } /* 运行结果: 今天的日期:2018-02-05 */ 示例2:Java 8中获取年、月、日信息 package com.shxt.demo02; import java.time.LocalDate...判断日期是早于还是晚于另一个日期 另一个工作中常见的操作就是如何判断给定的一个日期是大于某天还是小于某天?...示例17:Java 8中如何使用预定义的格式化工具去解析或格式化日期 package com.shxt.demo02; import java.time.LocalDate; import java.time.format.DateTimeFormatter

    86420

    python日期格式化操作

    7、用Python计算昨天和明天的日期 >>> import datetime #导入日期时间模块 >>> today = datetime.date.today() #获得今天的日期 >>> print...today #输出今天日期 2014-01-04 >>> yesterday = today - datetime.timedelta(days=1) #用今天日期减掉时间差,参数为1天,获得昨天的日期...获得明天的日期 >>> print tomorrow 2014-01-05 >>> >>> print "昨天:%s, 今天:%s, 明天:%s" % (yesterday, today, tomorrow...) #字符串拼接在一起输出,这3天的日期 昨天:2014-01-03, 今天:2014-01-04, 明天:2014-01-05 8、python里使用time模块来获取当前的时间 #!.../usr/bin/python import datetime i = datetime.datetime.now() print ("当前的日期和时间是 %s" % i) print ("ISO格式的日期和时间是

    5.8K20

    今日代码大赏 | Java 实现字符串转为日期

    所以我们在学习的时候也应该“摒弃侥幸,坚持不懈!” 昨天的冒泡排序算法小案例,难度怎么样呢?相信应该难道了许多小伙伴了吧,没事今天我们稍微轻松点,来个简单的。...今天分享 Java 程序将字符串转换为日期,这个相信学过 Web 开发的小伙伴都知道吧,非常常用! 今天直接分享两个使用格式化程序将字符串转换为 Java 中的日期。...示例1:使用预定义的格式器将字符串转换为日期 import java.time.LocalDate; import java.time.format.DateTimeFormatter; public...我们使用了预定义的格式化程序 ISO_DATE ,该格式化程序采用日期字符串,格式为 2024-04-09 或2024-04-09 + 05:45'。...今天的代码大赏到此结束,关于 Java 程序将字符串转换为日期的两种方式,你 Get 到了吗? 欢迎在评论区留下自己的看法。

    88610
    领券