本文主要是介绍java实现根据当前日期获取前一天的信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/**
* 根据当前日期获取昨天和前天的信息
* @param nowDay's format:2006-06-17
*/
public static Properties getYesterdayAndtheDayOfYesterday(String nowDate)
{
Properties prop = new Properties();
try
{
String yesterday = getLastDayInfo(nowDate);
String theDayOfYesterday = getLastDayInfo(yesterday);
prop.setProperty("yesterday",yesterday);
prop.setProperty("theDayOfYesterday",theDayOfYesterday);
}
catch(Exception e)
{
e.printStackTrace();
}
return prop;
}
/**
* 获取上一天的信息
* @param nowDate format:2006-06-17
* @return
*/
public static String getLastDayInfo(String nowDate)
{
String yesterday = "";
int year = 0;
int month = 0;
int day = 0;
try
{
System.out.println("0000000nowDate = " + nowDate);
//2006-06-17
year = Integer.parseInt(nowDate.substring(0,nowDate.indexOf("-")));
month = Integer.parseInt(nowDate.substring(nowDate.indexOf("-")+1,nowDate.lastIndexOf("-")));
day = Integer.parseInt(nowDate.substring(nowDate.lastIndexOf("-")+1));
System.out.println("nowYear = " + year);
System.out.println("nowMonth = " + month);
System.out.println("dayDay = " + day);
day = day - 1;
if(day == 0)
{
month = month - 1;
if(month == 0)
{
//January
month = 12;
day = 31;
year = year - 1;
}
else
{
//not Jan.
switch(month)
{
//1|3|5|7|8|10|12) day=31;;
case 1:
day = 31;
break;
case 3:
day = 31;
break;
case 5:
day = 31;
break;
case 7:
day = 31;
break;
case 8:
day = 31;
break;
case 10:
day = 31;
break;
case 12:
day = 31;
break;
//4|6|9|11) day=30;;
case 4:
day = 30;
break;
case 6:
day = 30;
break;
case 9:
day = 30;
break;
case 11:
day = 30;
break;
case 2:
if(year % 4 ==0 && year % 100 !=0 || year % 400 ==0)
{
//leap year
day = 29;
}
else day = 28;
}
}
}
String monthStr = "";
String dayStr = "";
if(month < 10)
{
monthStr = "0" + String.valueOf(month);
}
else
{
monthStr = String.valueOf(month);
}
if(day < 10)
{
dayStr = "0" + String.valueOf(day);
}
else
{
dayStr = String.valueOf(day);
}
yesterday = String.valueOf(year) + "-" + monthStr + "-" + dayStr;
}
catch(Exception e)
{
e.printStackTrace();
}
return yesterday;
}
public static void main(String[] args)
{
getYesterdayAndtheDayOfYesterday("2008-03-01");
}
这篇关于java实现根据当前日期获取前一天的信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!