新手求教Java时间转换问题(增加天数后的日期输出)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新手求教Java时间转换问题(增加天数后的日期输出)相关的知识,希望对你有一定的参考价值。

1、我的目的是获取当前日期,然后加上指定天数,再输出计算后的日期。
2、开始的代码如下:
String date_str=String.valueOf(date);
String dd = date_str.substring(8,10);
String DD = date_str.substring(0,8)+String.valueOf(Integer.parseInt(dd) + days);
java.sql.Date backTime= java.sql.Date.valueOf(DD);
说明:date是我获取到的当前日期,days是我要增加的天数,backTime是我要得到的日期。
3、问题:在我测试时,只要当前日期加上days后大于这个月的总天数(其实我也不知道到底是大于哪个数,反正就是溢出的那种感觉)时就会出错抛出异常,求教高手指点下!!!!最好给出改后的代码

参考技术A import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Test

public static void main(String[] args)

Date d = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date = format.format(d);
System.out.println("现在的日期是:" + date);

Calendar ca = Calendar.getInstance();
ca.add(Calendar.DATE, 30);// 30为增加的天数,可以改变的
d = ca.getTime();
String backTime = format.format(d);
System.out.println("增加天数以后的日期:" + backTime);


本回答被提问者采纳

java14-9 Doteformat的练习


  需求:
    键盘录入出生年月日,计算出距离现在已经生活了几天
  分析:
    A:创建键盘录入固定模式的字符串
    B:计算步骤:
      a:把输入进来的字符串格式化成日期
      b:获取现在的日期,减去格式化后的日期
      c:把得到的日期结果再转换成天数
      d:把得到的天数再转换成字符串
    C:定义成方法
      a:返回类型:String
      b:参数列表:String time String format

 1 import java.text.ParseException;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Scanner;
 4 public class DateDformatTest2 {
 5 
 6 public static void main(String[] args) throws ParseException {
 7 // 创建键盘录入
 8 Scanner sc = new Scanner(System.in);
 9 System.out.println("请输入你的出生日期(格式是年 月 日):");
10 String time = sc.nextLine();
11 
12 //调用Days方法
13 long day = Days(time);
14 System.out.println("你从出生到现在,一共活了"+day+"天");
15 }
16 
17 // 定义方法
18 public static long Days(String time) throws ParseException {
19 // 把输入进来的字符串格式化成日期
20 
21 //定义输入的日期的模式
22 SimpleDateFormat sdf = new SimpleDateFormat("yyyy MM dd");
23 //获取得到的string类型的日期的毫秒值
24 long day = sdf.parse(time).getTime();
25 //获取现在的毫秒值
26 long nowTime = System.currentTimeMillis();
27 //两者之差
28 long result = nowTime - day;
29 // 得到的毫秒值算成天数    
30 long life = (result / 1000 / 60 / 60 / 24); 
31 return life;
32 
33 }
34 
35 }

 

以上是关于新手求教Java时间转换问题(增加天数后的日期输出)的主要内容,如果未能解决你的问题,请参考以下文章

新手求教: ExtJs gridPanel 在绑定日期类型的时候,怎么转换为自己想要的格式

JSJavaScript 指定日期增加天数

java编程编写一个完成给日期增加指定天数功能的程序

将整数转换为日期以计算天数

在EXCEL中,今天到下个月今天的天数怎么计算,求教了

Java中计算两个字符串日期之间或当前时间与指定时间的天数差