jdk 版本差异之 DateFormat.getDateInstance()
2016-03-10 16:05
525 查看
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.线程相关类。差异有一些。 之前也遇到过。
相关文章推荐
- JAVA线程池(ThreadPoolExecutor)源码分析
- Java SE1.6中的Synchronized Mark Word
- struts2 源码分析 request ---设置setParameters 的值 二
- java.util.ConcurrentModificationException
- Java之JMX
- 学习Spring必学的Java基础知识(6)----ThreadLocal
- HBase入门篇2-Java操作HBase例子
- Java并发线程组件:Amino
- struts2 源码分析 request ---设置setParameters 的值
- Java 完美判断中文字符
- jppf javax.management.remote.message.HandshakeBeginMessage
- 《Java程序性能优化》-笔记
- Java锁的种类以及辨析
- java各种框架的比较,分析
- Java集合总览
- java中replace和replaceAll的区别
- jetty 手动 加载spring mvc demo
- myeclipse svn 分支
- java.lang.UnsatisfiedLinkError: Unable to load library ÕҲ»µ½ָ¶¨
- Java垃圾回收调优