|
比如今天是20140823 我想通过date类如何得到昨天20140822和前天20140821啊 |
|
![]() |
Date类是按毫秒计算时间的,你可以直接计算出时间定义一个long类型然后加给Date。
|
![]() |
要转换成字符串使用DateFormat类就可以了
|
![]() 10分 |
import java.text.*;
import java.util.*; public class Datetest { public static void main(String[] args){ c.add(Calendar.DAY_OF_MONTH, 1);//今天的基础上加一天 c.add(Calendar.DAY_OF_MONTH,1);//再加一天 DateFormat df = new SimpleDateFormat(“yyyyMMdd”); System.out.println(str); 这个应该就是你要的结果 |
![]() |
昨天和前天,应该是
c.add(Calendar.DAY_OF_MONTH,-1); |
![]() 10分 |
如果不用Calendar类的话,可以用毫秒数计算的方法实现
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTest {
/**
* 由今天时间通过Date类来计算昨天的时间
* @param args
*/
public static void main(String[] args) {
//先获取今天时间
Date today = new Date();
//得到当前时刻距离1970.1.1的毫秒数
long t1= today.getTime();
// System.out.println(t1);
//计算昨天时间:将当前时间毫秒数减去一天的毫秒数
Date yesterday = new Date();
long t2 = t1-24*60*60*1000;
yesterday.setTime(t2);
// System.out.println(yesterday);
String str1 =format(yesterday);
System.out.println("昨天时间:"+str1);
//计算前天的时间:同理
Date theDayBeforeYesterday = new Date();
long t3 = t2-24*60*60*1000;
theDayBeforeYesterday.setTime(t3);
// System.out.println(theDayBeforeYesterday);
String str2 =format(theDayBeforeYesterday);
System.out.println("前天时间:"+str2);
}
//将时间以字符串形式输出
public static String format(Date date){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String str =sdf.format(date);
return str;
}
}
|
![]() |
好的 谢谢 我试试 |

