import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.*;
import java.io.*;
class Test{
public static void main(String args[])
{
//开始日期
String startdate = "";
//终了日期
String enddate = "";
//相差天数
String days = "";
//实例化一个对象
Test getDate = new Test();
//输入开始日期
System.out.println("请输入开始日期 : ");
//读取开始日期
startdate = getDate.ReadDate();
//输入终了日期
System.out.println("请输入终了日期: ");
//读取终了日期
enddate = getDate.ReadDate();
Calendar startcalendar = Calendar.getInstance();
Calendar endcalendar =Calendar.getInstance();
try{
//转化成日期格式
//Locale local = null ;
//DateFormat dd = new SimpleDateFormat("yyyyMMdd",local); 抛出异常
//DateFormat dd = null; 空指针异常
DateFormat dd = new SimpleDateFormat("yyyyMMdd");
dd.setLenient(false);
//把输入的开始日期转化成日期格式
Date date = dd.parse(startdate);
startcalendar.setTime(date);
//把输入的终了日期转化成日期格式
endcalendar.setTime(dd.parse(enddate));
}catch(Exception e)
{
//e.printStackTrace();
System.out.println("您输入的日期格式不正确");
}
//计算出开始日期和结束日期之间相差几天
long longdays = getDate.daysBetween(startcalendar,endcalendar);
System.out.println("您输入的第一个日期是:"+startdate);
System.out.println("您输入的第二个日期是:"+enddate);
System.out.println("相差"+longdays+"天");
}
//读取开始日期和终了日期的方法
public String ReadDate()
{
//定义一个接受字符串
String date="";
//读取输入的字符串
try{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
date = in.readLine();
}catch(IOException e){}
return date.toString();
}
//计算出开始日期和结束日期之间相差几天的方法
public static long daysBetween(Calendar startDate, Calendar endDate)
{
long days=1;
//求出相差的毫秒数
days =startDate.getTimeInMillis() - endDate.getTimeInMillis();
//把相差毫秒数转化为天数
days = ((days/1000)/3600)/24;
return days;
}
}
分享到:
相关推荐
在Java编程中,验证日期的有效性是常见的任务,特别是在处理用户输入或系统日期时。这段代码主要用于检查一个日期字符串是否符合特定的日期格式,并且在实际的日期范围内。以下是一段可能的Java代码来实现这个功能:...
计算两个日期之间的天数差可以通过以下方式实现:获取两个 `Calendar` 对象,然后使用 `getTimeInMillis()` 得到每个日期的毫秒值,相减后除以一天的毫秒数(`1000 * 60 * 60 * 24`)。 7. 其他常用方法: - `...
在Java编程语言中,String类型和Timestamp类型是两种不同的数据类型,前者用于存储字符串数据,而后者用于存储时间戳数据。然而,在实际开发中,我们经常需要将String类型转换成Timestamp类型,以便于在数据库中存储...
接下来,我们看到了两个SimpleDateFormat对象的创建: ```java DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); DateFormat format2 = new SimpleDateFormat("yyyyMMddHHmmss"); ``` 这些代码行表明,...
在处理日常日期计算时,通常会用到这个类。 2. **`java.sql.Date`**: 这个类是专门为与数据库交互设计的,尤其是处理像Oracle这样的数据库中的`DATE`类型。它只存储日期,不包含时间部分。因此,如果你从Oracle...
在IT领域,尤其是在Java编程中,时间和日期的处理是一项常见的任务。`DateTime`类型是用于表示日期和时间的,而在不同的数据库系统中,如Oracle和SQL Server,它们对时间类型的处理方式有所不同。本文将深入探讨如何...
本案例中我们将创建一个名为`DateUtil`的Java类,该类提供日期格式化的方法。 ```java package com.test; import java.text.SimpleDateFormat; import java.util.Date; public class DateUtil { /** yyyy-MM-dd...
这样,Spring MVC会在处理所有日期类型时使用这个转换器: ```java public class DateConverter implements Converter, Date> { @Override public Date convert(String source) { SimpleDateFormat dateFormat ...
这个`CustomDateEditor`类实现了`setAsText`和`getAsText`方法,分别用于将字符串转换为日期对象以及将日期对象转换为字符串。 #### 四、使用`Converter`实现全局类型转换 除了上面介绍的方法之外,还可以使用`...
这段代码注册了一个自定义的日期编辑器,用于将请求中的字符串格式转换为 `Date` 对象,并且可以设置日期格式不宽松。 #### 数据模型控制 在 Spring MVC 中,可以通过 `Model` 或 `ModelMap` 对象向视图传递数据。...
andorid开发经验分享andorid开发经验分享
PropertyEditor的核心功能是将一个String转换为一个Java对象。从Spring 3.0开始,Spring添加了一个通用的类型转换模块,即org.springframework.convert包。ConversionService是该包的核心组件,可以通过使用...
在上面的代码中,我们使用了 @InitBinder 注解来标注 initBinder 方法,并在该方法中使用 WebDataBinder 的 registerCustomEditor 方法来注册一个自定义的日期编辑器,用于将字符串类型的日期转换为 Date 类型。...
#如何在Kotlin上的Android上使用Retrofit #示例代码如何使用翻新网络库与应用服务器进行交互。 #让我们开始弄脏我们的手 ...#val gson = GsonBuilder().setLenient().create() #//改造
java.lang.invoke.MethodHandleNatives.resolve(Native Method) The following method did not exist: com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder; The method's class, ...