Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我有一个计算到期日的代码,但我不知道如何将其转换为日期格式_Java_Date_Format - Fatal编程技术网

Java 我有一个计算到期日的代码,但我不知道如何将其转换为日期格式

Java 我有一个计算到期日的代码,但我不知道如何将其转换为日期格式,java,date,format,Java,Date,Format,此代码计算到期日期。但是我不知道如何把它转换成日期格式 我试过这个 Item i1=new Item(); int month3=0; i1.setManufacturingDate(rs.getDate("mfg_date")); Date date1 = rs.getDate("mfg_date"); Calendar cal = Calendar.getInstance(); cal.setTi

此代码计算到期日期。但是我不知道如何把它转换成日期格式

我试过这个

Item i1=new Item();
        int month3=0;
          i1.setManufacturingDate(rs.getDate("mfg_date"));
          Date date1 = rs.getDate("mfg_date");
          Calendar cal = Calendar.getInstance();
          cal.setTime(date1);
          int month = cal.get(Calendar.MONTH);
          int date=cal.get(Calendar.DATE);
          int year=cal.get(Calendar.YEAR);
          int month2=month+1;
         // System.out.print("\t"+month2);


        i1.setUseBeforeMonths(rs.getInt("UseBeforeInMonths"));
        int month1=rs.getInt("UseBeforeInMonths");
        //System.out.print("\t"+month1);

        System.out.println("Expiry Date is");
        int expiry=month2+month1;
        int sum=0;
        if(expiry>12)
        {
            sum=expiry-12;
            System.out.println(sum);
            month3=sum;
        }
        else
        {
            System.out.println(expiry);
            month3=expiry;
        }
但它没有给出正确的输出。它给出的输出是

Calendar c3 = Calendar.getInstance();
                c3.set(year, month3, date); 
                System.out.println(c3);
请帮助我将日期转换为日期格式,即“YYYY-MM-DD”。这里日期变量有日期,month3变量有月份,year变量有年份


谢谢。

由于误解而编辑:

Expiry Date is
1
java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Calcutta",offset=19800000,dstSavings=0,useDaylight=false,transitions=6,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2014,MONTH=1,WEEK_OF_YEAR=28,WEEK_OF_MONTH=2,DAY_OF_MONTH=9,DAY_OF_YEAR=191,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=34,SECOND=39,MILLISECOND=138,ZONE_OFFSET=19800000,DST_OFFSET=0]
Expiry Date is
4
java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Calcutta",offset=19800000,dstSavings=0,useDaylight=false,transitions=6,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2014,MONTH=4,WEEK_OF_YEAR=28,WEEK_OF_MONTH=2,DAY_OF_MONTH=10,DAY_OF_YEAR=191,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=34,SECOND=39,MILLISECOND=139,ZONE_OFFSET=19800000,DST_OFFSET=0]
Expiry Date is
11

    java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Calcutta",offset=19800000,dstSavings=0,useDaylight=false,transitions=6,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2014,MONTH=11,WEEK_OF_YEAR=28,WEEK_OF_MONTH=2,DAY_OF_MONTH=28,DAY_OF_YEAR=191,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=34,SECOND=39,MILLISECOND=139,ZONE_OFFSET=19800000,DST_OFFSET=0]

祝你好运,告诉我这是否有效。

尝试使用Java 8的LocalDate和DateTimeFormatter类的实现:

GregorianCalendar dateConverted = new GregorianCalendar(year, month, days);
format(dateConverted);
return dateConverted;
为Java 8之前版本编辑:

DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE; // The Built-in YYYY-MM-DD format
LocalDate date = LocalDate.of(c3.get(Calendar.YEAR), c3.get(Calendar.MONTH), c3.get(Calendar.DATE));
System.out.println(formatter.format(date));

最简单的方法是

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(formatter.format(c3.getTime()));
SimpleDataFormat myformat=新SimpleDataFormatDmmyyy; 字符串mydate=myformat.formatobject

此处日期将返回当前日期。使用我们获取的格式 dd:日期 月 yy:年

这样做的好处是,您还可以通过将HHMMS指定为小时分钟和秒来获取时间

Date object=new Date();

这是我发现的很简单。

可能重复@sss请在发布前搜索StackOverflow。这个主题以前已经讨论过很多次了。它不起作用:我想用日期格式创建到期日。很抱歉听到这样的消息:GregoriaCalendar dateConverted=new GregoriaCalendar DarYear,month3,day;格式转换;返回日期转换;formatdateConverted返回字符串类型的值。我想要日期格式的。i、 日期-日期-旧版本的java如何?它不适用于旧版本。我添加了一个应适用于旧版本的实现
Date aDate = new Date(year1,month3,date);
                System.out.println(aDate);