java日期判断,Java判断日期大小

本文目录一览:

使用Java如何验证所以日期是否正确

Java为了支持多语言,没有固定的日期格式。你需要根据自己的需要指定日期格式,然后用DateFormat类或者SimpleDateFormat类来判断是否是正确的日期格式。下面的例子供参考。更详细的内容(比如yyyy,MM,dd各代表什么)可以参考javadoc。

public class DateUtil

{

private static final SimpleDateFormat dateFormat = null;

static

{

// 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写;

dateFormat = new SimpleDateFormat(“yyyy/MM/dd”);

// 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01

dateFormat.setLenient(false);

}

public static boolean isValidDate(String s)

{

try

{

dateFormat.parse(s);

return true;

}

catch (Exception e)

{

// 如果throw java.text.ParseException或者NullPointerException,就说明格式不对

return false;

}

}

// 下面这个方法则可以将一个日期按照你指定的格式输出

public static String formatDate(Date d)

{

return dateFormat.format(d);

}

}

java中如何判断输入的日期是否合法?

java.text.DateFormat dateFormat= new java.text.SimpleDateFormat(“yyyy-MM-dd kk:mm:ss”, Locale.ENGLISH);

dateFormat.setLenient(false);

java.util.Date timeDate = dateFormat.parse(dateString);

//转换为util类型

看到dateFormat.setLenient(false);没有,设定其为false就是强制判断是否非法日期,不让系统自动转换,否则2月31号系统会自动转换为3月2号或者3号。

java中怎么判断输入的日期是否合法?

import java.util.*;

import java.util.regex.*;

import java.text.*;

/** 这个是按照楼主的描述使用通过判断字符验证时间合法性 */

public class DateUtils2 {

//测试代码 begin

public static void main(String[] s){

//以下是测试代码

test(“20099-1-1”);

test(“20099-100-1”);

test(“20099-1-100”);

test(“2009-1-1”);

test(“2009-1-31”);

test(“2009-2-28”);

test(“2009-2-29”);

test(“2008-2-29”);

}

private static void test(String stringdate){

System.out.println(“输入[” + stringdate + “]是否合法:” + validate(stringdate));

}

//测试代码 end

//==

/** 判断主方法 */

public static boolean validate(String dateString){

//使用正则表达式 测试 字符 符合 dddd-dd-dd 的格式(d表示数字)

Pattern p = Pattern.compile(“\\d{4}+[-]\\d{1,2}+[-]\\d{1,2}+”);

Matcher m = p.matcher(dateString);

if(!m.matches()){ return false;}

//得到年月日

String[] array = dateString.split(“-“);

int year = Integer.valueOf(array[0]);

int month = Integer.valueOf(array[1]);

int day = Integer.valueOf(array[2]);

if(month1 || month12){ return false;}

int[] monthLengths = new int[]{0, 31, -1, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

if(isLeapYear(year)){

monthLengths[2] = 29;

}else{

monthLengths[2] = 28;

}

int monthLength = monthLengths[month];

if(day1 || daymonthLength){

return false;

}

return true;

}

/** 是否是闰年 */

private static boolean isLeapYear(int year){

return ((year % 4 == 0 year % 100 != 0) || year % 400 == 0) ;

}

}

java判断某日期 是否超过今天

一、使用Date类创建日期对象

Date date1 = new Date(2017, 5, 20);

二、通过Calendar获得当前日期

Date now;

Calendar c = Calendar.getInstance();

now = new Date(c.get(Calendar.YEAR), c.get(Calendar.MONTH) + 1, c.get(Calendar.DAY_OF_MONTH));

三、使用Date类的after()方法判断一个日期是否在另一个日期的后面

if(date1.after(now)) {

System.out.println(“超过了今天”);

}

else {

System.out.println(“没有超过今天”);

}

四、完整的Java程序

import java.util.Calendar;

import java.util.Date;

public class Main {

public static void main(String[] args) {

Date date1 = new Date(2017, 5, 20);

Date now;

Calendar c = Calendar.getInstance();

now = new Date(c.get(Calendar.YEAR), c.get(Calendar.MONTH) + 1, c.get(Calendar.DAY_OF_MONTH));

if(date1.after(now)) {

System.out.println(“超过了今天”);

}

else {

System.out.println(“没有超过今天”);

}

}

}

五、运行测试

没有超过今天

java判断是否是日期

楼主提出的问题有点片面,我的理解是,你是不是想判断字符串是不是日期格式?如果已经是日期类型,那就不需要判断了,对把。判断给定字符串是不是日期我给你提供两种解决思路,一种是用正则,代码我给你写好了。

public boolean isDate(String date) {

/**

 * 判断日期格式和范围

 */

String rexp = “^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))”;

Pattern pat = Pattern.compile(rexp);

Matcher mat = pat.matcher(date);

boolean dateType = mat.matches();

return dateType;

}

参数就是你要判断的日期字符串,返回布尔值;

另一种方式就是:玩字符串正则才是王道嘛!希望采纳

public boolean isValidDate(String str) {

boolean convertSuccess = true;

// 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写;

//如果想判断格式为yyyy-MM-dd,需要写成-分隔符的形式

SimpleDateFormat format = new SimpleDateFormat(“yyyy/MM/dd HH:mm”);

try {

format.setLenient(false);

format.parse(str);

} catch (ParseException e) {

// e.printStackTrace();

// 如果抛出ParseException或者NullPointerException,就说明格式不对

convertSuccess = false;

}

return convertSuccess;

}

推荐使用正则,

java 判断某个日期是不是今天

给您写了一遍。

代码:

package demo;

import java.text.SimpleDateFormat;

import java.util.Date;

/**

 * 

 * 开发公司:SOJSON在线工具 p

 * 版权所有:© 

 * 博客地址:

 * p

 * 

 * 注释写这里

 * 

 * p

 * 

 * 区分 责任人 日期说明br/

 * 创建 周柏成 2017年4月18日  br/

 *

 * @author zhou-baicheng

 * @email  so@sojson.com

 * @version 1.0,2017年4月18日 br/

 * 

 */

public class Main {

    public static void main(String[] args) {

        //调用

        boolean result = isNow(new Date());

        System.out.println( result?”是今天。”:”不是今天。” );

        

    }

    /**

     * 判断时间是不是今天

     * @param date

     * @return    是返回true,不是返回false

     */

    private static boolean isNow(Date date) {

        //当前时间

        Date now = new Date();

        SimpleDateFormat sf = new SimpleDateFormat(“yyyyMMdd”);

        //获取今天的日期

        String nowDay = sf.format(now);

        

        

        //对比的时间

        String day = sf.format(date);

        

        return day.equals(nowDay);

        

        

        

    }

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/236157.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 11:58
下一篇 2024-12-12 11:58

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29

发表回复

登录后才能评论