1.第一段代码中解题的思路有没有问题
2.第二段代码中为什么明明是"0天00小时00分00秒"但是打出来的是后一天的情况
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatTest {
public static void main(String[] args) throws ParseException {
String str1="2021年08月06日11点11分11秒";
String str2="0天23小时00分00秒";
SimpleDateFormat s1=new SimpleDateFormat("yyyy年MM月dd日hh点mm分ss秒");
SimpleDateFormat s2=new SimpleDateFormat("dd天hh小时mm分ss秒");
Date d1=s1.parse(str1);
Date d2=s2.parse(str2);
System.out.println(s1.format(d1));
System.out.println(s1.format(d2));
long l1=d1.getTime();
long l2=d2.getTime();
long l=l1+l2;
Date d=new Date();
d.setTime(l);
System.out.println(s1.format(d));
}
}
问题相关代码,请勿粘贴截图
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatTest {
public static void main(String[] args) throws ParseException {
//String str1="2021年08月06日11点11分11秒";
String str2="0天00小时00分00秒";
SimpleDateFormat s1=new SimpleDateFormat("yyyy年MM月dd日hh点mm分ss秒");
SimpleDateFormat s2=new SimpleDateFormat("d天hh小时mm分ss秒");
Date d2=s2.parse(str2);
System.out.println(d2.getTime());
System.out.println(s1.format(d2));
}
}
//第三段代码用于与第二段代码做对照
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatTest {
public static void main(String[] args) throws ParseException {
//String str1="2021年08月06日11点11分11秒";
String str2="0天01小时00分00秒";
SimpleDateFormat s1=new SimpleDateFormat("yyyy年MM月dd日hh点mm分ss秒");
SimpleDateFormat s2=new SimpleDateFormat("d天hh小时mm分ss秒");
Date d2=s2.parse(str2);
System.out.println(d2.getTime());
System.out.println(s1.format(d2));
}
}
//输出结果为:
//-111600000
//1969年12月31日01点00分00秒
运行结果及报错内容
-115200000
1969年12月31日12点00分00秒