gpt4 book ai didi

java.util.date格式转换

转载 作者:行者123 更新时间:2023-12-01 17:16:06 25 4
gpt4 key购买 nike

这里的问题是我有以下代码:

String newPattern = "yyyy-MM-dd HH:mm:ss.SSS";
SimpleDateFormat formatterDB = new SimpleDateFormat(newPattern);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

String nDate1 = rs.getString("FromDate");
String nDate2 = rs.getString("ToDate");
Date newDate1 = formatterDB.parse(nDate1);
Date newDate2 = formatterDB.parse(nDate2);

Date sd = formatter.parse("2013-08-22");
Date ed = formatter.parse("2013-08-24");
Date exd = formatter.parse("2013-08-23");

要验证的第一个条件是 exd 位于 [sd,ed] 之间,如果为真,则 exd 也应位于 [ newDate1,newDate2],如果这是 true,则将获取 dB 中的其他元素。

请注意,两个日期的来源不同,一个日期来自具有完全不同格式的 dB,而另一个日期作为字符串输入给出,需要进行比较,因此它们具有不同的格式。

为了更清楚地说明这一点,这里有一个例子:

I gave input for exd as 2013-08-23 the input for sd and ed is given the newDate1 is 2013-08-28(in dB format) and newDate2 is 2013-09-01(in dB Format) Still it accepts the input exd and fetches the other column.

** 我已经截取了相关代码,如有任何问题,请发表评论。任何帮助表示赞赏。提前致谢!

最佳答案

您必须使用 java 内置的日期功能。

这是一个小例子:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse("2009-12-31");
Date date2 = sdf.parse("2010-01-31");

if(date1.compareTo(date2)>0){
System.out.println("Date1 is after Date2");
}else if(date1.compareTo(date2)<0){
System.out.println("Date1 is before Date2");
}else if(date1.compareTo(date2)==0){
System.out.println("Date1 is equal to Date2");
}else{
System.out.println("How to get here?");
}

编辑:关于用户问题的示例

exd 不在 newDate1 和 newDate2 之间!!

public class DateCompare {

public static void main(String args[]) throws ParseException
{
String newPattern = "yyyy-MM-dd HH:mm:ss.SSS";
SimpleDateFormat formatterDB = new SimpleDateFormat(newPattern);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

String nDate1 = "2013-08-29 11:11:11.000";
String nDate2 = "2013-09-01 11:11:11.000";
Date newDate1 = formatterDB.parse(nDate1);
Date newDate2 = formatterDB.parse(nDate2);


Date sd = formatter.parse("2013-08-22");
Date ed = formatter.parse("2013-08-24");
Date exd = formatter.parse("2013-08-23");


//Comparing exd to sd and ed
if(sd.compareTo(exd) * exd.compareTo(ed) > 0)
{
//comparing exd to newDate1 and newDate2
if(newDate1.compareTo(exd) * exd.compareTo(newDate2) > 0)
{
System.out.println("Success : Now you can fetch data from DB !");
}
else
{
System.out.println("Oops ! Can't fetch data !");
}
}
}
}

请注意,在这种情况下,如果比较不同格式的日期,如果日期相同,则不会返回 0,因为 时间因素!时间也会被比较,yyyy-MM-dd 格式的日期 HH:mm:ss.SSS 全部为 00:00:00.000 >

关于java.util.date格式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22059696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com