java如何输出指定两个日期之间的所有日期

关注:252  答案:3  mip版

解决时间 2021-01-31 04:38

提问者等妳¬硪唯一鍀执念

2021-01-31 01:40

java如何输出指定两个日期之间的所有日期

最佳答案

二级知识专家輓畱嶼赱

2021-01-31 01:55

假定两个日期用相同的时间格式

import java.text.*;

import java.util.Date;

public class DateTest {

String dateFormat = "yyyy-MM-dd";

SimpleDateFormat format = new SimpleDateFormat(dateFormat);

public static void main(String[] args) {

DateTest t = new DateTest();

String date1 = "2012-02-26";

String date2 = "2012-03-04";

t.process(date1, date2);

}

private void process(String date1, String date2){

if(date1.equals(date2)){

System.out.println("两个日期相等!");

return;

}

String tmp;

if(date1.compareTo(date2) > 0){  //确保 date1的日期不晚于date2

tmp = date1; date1 = date2; date2 = tmp;

}

tmp = format.format(str2Date(date1).getTime() + 3600*24*1000);

int num = 0;

while(tmp.compareTo(date2)

System.out.println(tmp);

num++;

tmp = format.format(str2Date(tmp).getTime() + 3600*24*1000);

}

if(num == 0)

System.out.println("两个日期相邻!");

}

private Date str2Date(String str) {

if (str == null) return null;

try {

return format.parse(str);

} catch (ParseException e) {

e.printStackTrace();

}

return null;

}

}

全部回答

1楼噯ㄖ詘,美

2021-01-31 02:57

setdate()函数写的有问题,这个函数最多只会等到当前日期,而且上下两个函数没有关系,string birthday = df.format(date);这句话只是定义了一个局部变量,类里边的示例变量没有赋值,而你在showmess()里又使用了(this.birthday),所以就会输出空。试着这样改:

public class maindate{

public static void main(string[] args){

testdate td=new testdate();

td.setdate("2008-08-08");

td.showmess();//可正常输出

td.setdate("2008 08 08");

td.showmess();//输出“出生日期未设置或为空”

}

}

class testdate{

private string birthday;

public void setdate(string strdate)

{

dateformat df = new simpledateformat("yyyy-mm-dd");

try{

date tmpdate = df.format(strdate);//如果出异常,则参数strdate格式不对,不执行下句

this.birthday=strdate;

}catch(parseexception pe){

//...

}

}

public void showmess()

{

//...

if(this.birthday!=null||!"".equals(this.birthday)){

system.out.println("出生日期:"+this.birthday);

}else{

system.out.println("出生日期未设置或为空");

}

}

}

以上程序请自行测试

2楼反正我最可爱

2021-01-31 02:17

敲了一段代码,假定两个日期用相同的时间格式。测试通过。满意请采纳!

import java.text.*;

import java.util.Date;

public class DateTest {

String dateFormat = "yyyy-MM-dd";

SimpleDateFormat format = new SimpleDateFormat(dateFormat);

public static void main(String[] args) {

DateTest t = new DateTest();

String date1 = "2012-02-26";

String date2 = "2012-03-04";

t.process(date1, date2);

}

private void process(String date1, String date2){

if(date1.equals(date2)){

System.out.println("两个日期相等!");

return;

}

String tmp;

if(date1.compareTo(date2) > 0){ //确保 date1的日期不晚于date2

tmp = date1; date1 = date2; date2 = tmp;

}

tmp = format.format(str2Date(date1).getTime() + 3600*24*1000);

int num = 0;

while(tmp.compareTo(date2) < 0){

System.out.println(tmp);

num++;

tmp = format.format(str2Date(tmp).getTime() + 3600*24*1000);

}

if(num == 0)

System.out.println("两个日期相邻!");

}

private Date str2Date(String str) {

if (str == null) return null;

try {

return format.parse(str);

} catch (ParseException e) {

e.printStackTrace();

}

return null;

}

}

我要举报

如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

→点此我要举报以上信息!←

推荐资讯

大家都在看

java两个日期之间所有日期_java如何输出指定两个日期之间的所有日期相关推荐

  1. java中算两个时间内的秒数_java – Joda Time – 计算两个日期之间的秒数会引发异常....

    我使用以下代码来计算两个日期之间的秒数差异: long secondsBetween = (Seconds.secondsBetween(new LocalDate("1901-01-01& ...

  2. java如何输出指定两个日期之间的所有日期

    引用:http://zhidao.baidu.com/link?url=swmihI3D6rISvViB1N9_bkuxkmajokhoW6cIvPBEux3BdB4WrgoDcrgdG25Mm9ln ...

  3. java中怎么通过日期算出天数_Java如何通过计算两个日期的时间差来算出天数

    Java如何通过计算两个日期的时间差来算出天数,年月日,天数,时间,退房,时分 Java如何通过计算两个日期的时间差来算出天数 易采站长站,站长之家为您整理了Java如何通过计算两个日期的时间差来算出 ...

  4. java 一年中的第几天_java中计算指定日期是一年的第几天的方法

    Java输入日期计算是这年的第几天: 思路 通过年份区分出是闰年还是平年,平年 2 月 28 天,闰年 2 月 29 天: 1.3.5.7.8.10.12 月份 31 天其余月份均为 30 天: 然后 ...

  5. java 截取两个字符之间的字符串_java里面如何截取两个关键字中间的字符串?

    展开全部 1.split()+正则表达式来进行截取. 将正则传入62616964757a686964616fe58685e5aeb931333365633839split().返回的是一个字符串数组类 ...

  6. java创建线程池几种方式_Java 创建线程池两种不同方法的比较

    用Java做抓取的时候免不了要用到多线程的了,因为要同时抓取多个网站或一条线程抓取一个网站的话实在太慢,而且有时一条线程抓取同一个网站的话也比较浪费CPU资源.要用到多线程的等方面,也就免不了对线程的 ...

  7. Java并发之AQS详解(文章里包含了两片文章结合着看后边文章不清楚,请看原文)

          AQS全称抽象队列同步器(AbstractQuenedSynchronizer),它是一个可以用来实现线程同步的基础框架.当然,它不是我们理解的Spring这种框架,它是一个类,类名就是A ...

  8. java 日期 相差的天数_JAVA计算两个日期之间相差的天数

    在Java开发物流或是其他功能的时候会用到两个日期相差多天的数据,所以整理了一下备用. 调用方式: long date1 = getDateTime("20121201");//可 ...

  9. java规定日期格式输出_Java格式化输出日期百分比时间等

    Java格式化输出 Java的格式化输出等同于String.Format,与C有很大的相似,比如 System.out.printf("%8.2f", x); 在printf中,可 ...

最新文章

  1. 清华大学首批研究生学术与职业发展能力提升项目评估交流会举行
  2. MacOS使用Charles抓去HTTPS数据
  3. 一文介绍 Mysql 索引模型 B+ 树
  4. 多序列比对的c语言程序,多序列比对的实际应用
  5. 3.Spring高级话题—3.计划任务
  6. 矩池云如何使用 Tmux 工具在后台运行任务
  7. ASA防火墙 NAT新版老版的配置方法对比
  8. JavaScript文档DOM对象处理HTML→document属性方法、write、getElementBy**、getsetAttribute、节点操作方法、innerHTML、操作CSS样式属性
  9. 转帖:对linux中半增加半连接数量和防止服务器被dos攻击
  10. 关于JAVA调用oracle存储过程
  11. 版mysql客户端工具_【小白福利—初级DBA入门必看】MySQL常用工具介绍(三)——客户端工具MySQL...
  12. 四大门户金融业务接连中招,流量这把钥匙正被氧化
  13. python机器学习依赖库
  14. C#中ManualResetEvent用法总结
  15. 差异表达基因变化倍数_差异基因表达分析,如何寻找差异表达的基因?
  16. 原来创业也可以这样:80后乞丐网上卖烧烤 500元起家赚了400万
  17. 程序质量:代码静态检查
  18. Ls-Dyna对预应力钢筋混凝土结构的抗爆模拟
  19. oppo小布机器人_腾讯宠粉狂欢季丨OPPO手机、腾讯听听音箱、小布AI机器人……100+份豪礼免费送!...
  20. keepalived(haproxy高可用、haproxy高可用双主、lvs+keepalived)

热门文章

  1. 统一元数据,数据湖Catalog让大数据存算分离不再是问题
  2. 案例展示自定义C函数的实现过程
  3. 【华为云技术分享】人脸识别算法的训练之路(下)
  4. 【华为云技术分享】云图说 | 云硬盘还可以共享?!不了解你就out了
  5. Flask 蓝图机制及应用
  6. Vue+ElementUI项目使用webpack输出MPA【华为云分享】
  7. linux mysql -uroot_linux mysql 怎么用
  8. 香港计算机mphil申请成功案例,香港稀有CS MPhil录取:申请也有起死回生的惊喜...
  9. MacOS使用ffmpeg报错killed的问题与解决
  10. Sublime中查找重复行的正则表达式