java 格式问题和Calendar类
class Tran
{
public String getTwoDay(String sj1, String sj2)
{
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
long day = 0;
try {
java.util.Date date = myFormatter.parse(sj1);
java.util.Date mydate = myFormatter.parse(sj2);
day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
}
catch (Exception e)
{
return "";
}
return day+"" ;
}
public static void main(String[] args)
{
Tran tran=new Tran();
System.out.println(tran.getTwoDay("2011-12-11", "2003-11-6"));
}
}
这是一个计算日期间隔的日期 public String getTwoDay(String sj1, String sj2)
方法申明时把String 换成void就不需要返回值类型了,在调用getTwoDay()方法时,好像也不能赋值了,这和void有关吗?
还有一个Calendar类中 object.set()和Calendar类中object.setTime() 同时输出月份 一个是当月,一个比当月少1月是怎么回事??
------解决方案--------------------
class Tran
{
public void getTwoDay(String sj1, String sj2)
{
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
long day = 0;
try {
java.util.Date date = myFormatter.parse(sj1);
java.util.Date mydate = myFormatter.parse(sj2);
day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);\
System.out.println( day);
}
public static void main(String[] args)
{
Tran tran=new Tran();
tran.getTwoDay("2011-12-11", "2003-11-6");
}
}
将String改成void后
在main()调用tran就不能直接输出了
void没有返回值的所以调用时无法直接输出,无法参加运算。
方法有返回值时,在调用是可以将它当做数据进行使用。
没给代码具体不明:在同时获取月份时
Calendar类中 object.set()
Calendar类中object.setTime()
应该都一样,
有可能是在代码中对日期做了修改
才导致这样。