jdk 版本差异之 DateFormat.getDateInstance(),
分享于 点击 24911 次 点评:152
jdk 版本差异之 DateFormat.getDateInstance(),
C:\>java -version
java version "1.6.0_10-rc2"
Java(TM) SE Runtime Environment (build 1.6.0_10-rc2-b32)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class T {
public static void main(String[] args) {
System.out.println(getNextMonday(new Date(), 1));
}
// 获得下周星期一的日期
public static String getNextMonday(Date date,int weeks) {
int mondayPlus = getMondayPlus(date);
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.setTime(date);
currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks);
Date monday = currentDate.getTime();
DateFormat df = DateFormat.getDateInstance();
//DateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd");
String preMonday = df.format(monday);
return preMonday;
}
// 获得当前日期与本周一相差的天数
private static int getMondayPlus(Date date) {
Calendar cd = Calendar.getInstance();
cd.setTime(date);
// 获得今天是一周的第几天,星期日是第一天,星期二是第二天......
int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek == 1) {
return -6;
} else {
return 2 - dayOfWeek;
}
}
}
输出的是2014-1-20
在linux版本jdk
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)
输出的是 Jan 20, 2014
不通版本,不同厂商的jdk有些地方是有一些差异的,,特别是在io.线程相关类。差异有一些。 之前也遇到过。
相关文章
- 暂无相关文章
用户点评