比如今天是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; } } |
好的 谢谢 我试试 |