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);