当前位置: 代码迷 >> J2EE >> 怎么通过java类取得昨天和前天的时间 然后转为字符串
  详细解决方案

怎么通过java类取得昨天和前天的时间 然后转为字符串

热度:16   发布时间:2016-04-17 23:45:08.0
如何通过java类取得昨天和前天的时间 然后转为字符串
比如今天是20140823 我想通过date类如何得到昨天20140822和前天20140821啊 
------解决方案--------------------
import java.text.*;
import java.util.*;

public class Datetest {

public static void main(String[] args){
Calendar c = new GregorianCalendar();
Date d = c.getTime();

c.add(Calendar.DAY_OF_MONTH, 1);//今天的基础上加一天
Date d2 = c.getTime();

c.add(Calendar.DAY_OF_MONTH,1);//再加一天
Date d3 = c.getTime();

DateFormat df = new SimpleDateFormat("yyyyMMdd");
String str = df.format(d);
String str2 = df.format(d2);
String str3 = df.format(d3);

System.out.println(str);
System.out.println(str2);
System.out.println(str3);
}
}

这个应该就是你要的结果
------解决方案--------------------
如果不用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;
}

}
  相关解决方案