所以問題是我有一個從服務器的日期,我想根據當前日期和我從服務器獲得的日期之間的差異添加特定的日子。有條件地向當前日期添加特定天數?
serverDate - 的currentdate
工作:我這是怎麼計算天之間的差異,
String s=formater.format(currentDate);
long d1 = formater.parse(s).getTime();
long d2=formater.parse(serverDate).getTime();
int totaldays=(int)Math.abs((d1-d2)/(1000*60*60*24));
工作:爲了使用5天添加從當前的日期日期,
if(totaldays==5)
{
Calendar c=Calendar.getInstance();
c.add(Calendar.DATE, 0);
System.out.println("value of new server date "+c.getTime());
}
else if(totaldays==4)
{
Calendar c=Calendar.getInstance();
c.add(Calendar.DATE, 1);
System.out.println("value of new server date "+c.getTime());
}
else if(totaldays==3)
{
Calendar c=Calendar.getInstance();
c.add(Calendar.DATE, 2);
System.out.println("value of date "+c.getTime());
}
else if(totaldays==2)
{
Calendar c=Calendar.getInstance();
c.add(Calendar.DATE, 3);
System.out.println("value of new server date "+c.getTime());
}
else if(totaldays==1)
{
Calendar c=Calendar.getInstance();
c.add(Calendar.DATE, 4);
System.out.println("value of new server date "+c.getTime());
}
else if(totaldays==0)
{
Calendar c=Calendar.getInstance();
c.add(Calendar.DATE, 0);
System.out.println("value of new server date "+c.getTime());
}
最終:我可能需要修改這個用例,其中的總天數差異很大所以在這種情況下我需要增加比較次數或是否有任何可以使用的技巧達到特定的日期。
如果你添加了(Calendar.DATE。5-totaldays)''這將節省很多if/else。並且不理解你的問題......你的問題是什麼? – Kent
你是否說'totaldays'可以是一個龐大的數字? – ogzd
@Kent基本上我想保持距離服務器5天的差距,如果5天的差距已經存在,即totaldays = 5,那麼我不需要創建新的服務器日期。 – Prateek