首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

java 格式有关问题和Calendar类

2012-02-17 
java 格式问题和Calendar类class Tran{public StringgetTwoDay(String sj1, String sj2){SimpleDateFormat

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() 
应该都一样,
有可能是在代码中对日期做了修改
才导致这样。

热点排行