问一个关于日期类问题 本帖最后由 prince_yu 于 2014-01-09 18:12:58 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己看一下API啊,这个应该自己是可以的 public static void main(String[] args)throws Exception{ String dateStr = "2014-01-2"; //年月周 SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-w"); Calendar cal = Calendar.getInstance(); cal.setTime(sdf.parse(dateStr)); //年月日 SimpleDateFormat sdf2 = new SimpleDateFormat("YYYY-MM-dd"); //一周七天 for (int i=0;i<7;i++){ //国际标准周天是一个星期的第一天,为了适应国情把周一定为一个星期的第一天 cal.add(Calendar.DAY_OF_WEEK, 1); System.out.println(sdf2.format(cal.getTime())); }} 太谢谢你了.离最后的效果只差了一步. 不知道我只输出周一和周日的日期怎么改?还有,for循环中的i没有在下面用到,那它是怎么输出周一到周日的日期的?求指点.. public static void main(String[] args)throws Exception{ String dateStr = "2014-01-2"; //年月周 SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-w"); Calendar cal = Calendar.getInstance(); cal.setTime(sdf.parse(dateStr)); //年月日 SimpleDateFormat sdf2 = new SimpleDateFormat("YYYY-MM-dd"); //国际标准的周天,默认第一天就是周天 System.out.println(sdf2.format(cal.getTime())); //中国国情的周天,只要加一个星期就可以了。 cal.add(Calendar.DAY_OF_WEEK, 7); System.out.println(sdf2.format(cal.getTime())); //因为前面加了7天,所以这里减七天回到2014年1月5号,如果没有加7天,下面这行可供可省略 cal.add(Calendar.DAY_OF_WEEK, -7); //周一 cal.add(Calendar.DAY_OF_WEEK,1); System.out.println(sdf2.format(cal.getTime())); } 您好, 1月份的确实没问题, 当我把dateStr换成2014-06-1, 还是显示1月的日期.是怎么回事? 您好, 1月份的确实没问题, 当我把dateStr换成2014-06-1, 还是显示1月的日期.是怎么回事?因为new SimpleDateFormat("YYYY-MM-w")里面的w表示的是一年中的第几周,而不是指定月的第几周 您好, 1月份的确实没问题, 当我把dateStr换成2014-06-1, 还是显示1月的日期.是怎么回事?因为new SimpleDateFormat("YYYY-MM-w")里面的w表示的是一年中的第几周,而不是指定月的第几周明白了..那怎么改成指定月的呢? 您好, 1月份的确实没问题, 当我把dateStr换成2014-06-1, 还是显示1月的日期.是怎么回事?因为new SimpleDateFormat("YYYY-MM-w")里面的w表示的是一年中的第几周,而不是指定月的第几周明白了..那怎么改成指定月的呢?w改为F,另外YYYY应该改为yyyy 太谢谢你了.离最后的效果只差了一步. 不知道我只输出周一和周日的日期怎么改?还有,for循环中的i没有在下面用到,那它是怎么输出周一到周日的日期的?求指点..cal.add(Calendar.DAY_OF_WEEK, 1);后面的1每次循环日期就会加1吧 您好, 1月份的确实没问题, 当我把dateStr换成2014-06-1, 还是显示1月的日期.是怎么回事?因为new SimpleDateFormat("YYYY-MM-w")里面的w表示的是一年中的第几周,而不是指定月的第几周明白了..那怎么改成指定月的呢?w改为F,另外YYYY应该改为yyyyw改为大写的W也行 您好, 1月份的确实没问题, 当我把dateStr换成2014-06-1, 还是显示1月的日期.是怎么回事?因为new SimpleDateFormat("YYYY-MM-w")里面的w表示的是一年中的第几周,而不是指定月的第几周明白了..那怎么改成指定月的呢?w改为F,另外YYYY应该改为yyyyw改为大写的W也行换成大写W时间不对了 public static void main(String[] args)throws Exception{ String dateStr = "2014-01-2"; //年月周----这里把y换成了小写,w换成了大写 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-W"); Calendar cal = Calendar.getInstance(); cal.setTime(sdf.parse(dateStr)); //年月日 SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd"); //国际标准的周天,默认第一天就是周天 System.out.println(sdf2.format(cal.getTime())); //中国国情的周天,只要加一个星期就可以了。 cal.add(Calendar.DAY_OF_WEEK, 7); System.out.println(sdf2.format(cal.getTime())); //因为前面加了7天,所以这里减七天回到2014年1月5号,如果没有加7天,下面这行可供可省略 cal.add(Calendar.DAY_OF_WEEK, -7); //周一 cal.add(Calendar.DAY_OF_WEEK,1); System.out.println(sdf2.format(cal.getTime())); } 您好, 1月份的确实没问题, 当我把dateStr换成2014-06-1, 还是显示1月的日期.是怎么回事?因为new SimpleDateFormat("YYYY-MM-w")里面的w表示的是一年中的第几周,而不是指定月的第几周明白了..那怎么改成指定月的呢?w改为F,另外YYYY应该改为yyyyw改为大写的W也行换成大写W时间不对了大写W显示的时间是指写月的指的周数的第一天,该天可能在上一个月里,这里只要简单加个判断就可以实现楼主的效果了 webservice无法将头文件参数传到服务端问题。 刚刚接触j2EE开发 有点不明白的 jsp做中英文网站的数据库大家怎么设计的? class标签上的lazy标签不起作用 struts2的include标签的问题 spring2.0+hibernate3.1问题求救 tomcat 与 jdk 问题,急等到 关于Spring AOP的一个小问题 连接池问题! JAVA 图片二进流转成PDF文件 java 发送短信问题 用contains老找不到对象
String dateStr = "2014-01-2";
//年月周
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-w");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(dateStr));
//年月日
SimpleDateFormat sdf2 = new SimpleDateFormat("YYYY-MM-dd");
//一周七天
for (int i=0;i<7;i++){
//国际标准周天是一个星期的第一天,为了适应国情把周一定为一个星期的第一天
cal.add(Calendar.DAY_OF_WEEK, 1);
System.out.println(sdf2.format(cal.getTime()));
}
}
太谢谢你了.离最后的效果只差了一步. 不知道我只输出周一和周日的日期怎么改?
还有,for循环中的i没有在下面用到,那它是怎么输出周一到周日的日期的?求指点..
public static void main(String[] args)throws Exception{
String dateStr = "2014-01-2";
//年月周
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-w");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(dateStr));
//年月日
SimpleDateFormat sdf2 = new SimpleDateFormat("YYYY-MM-dd"); //国际标准的周天,默认第一天就是周天
System.out.println(sdf2.format(cal.getTime())); //中国国情的周天,只要加一个星期就可以了。
cal.add(Calendar.DAY_OF_WEEK, 7);
System.out.println(sdf2.format(cal.getTime())); //因为前面加了7天,所以这里减七天回到2014年1月5号,如果没有加7天,下面这行可供可省略
cal.add(Calendar.DAY_OF_WEEK, -7);
//周一
cal.add(Calendar.DAY_OF_WEEK,1);
System.out.println(sdf2.format(cal.getTime()));
}
您好, 1月份的确实没问题, 当我把dateStr换成2014-06-1, 还是显示1月的日期.
是怎么回事?
您好, 1月份的确实没问题, 当我把dateStr换成2014-06-1, 还是显示1月的日期.
是怎么回事?因为new SimpleDateFormat("YYYY-MM-w")里面的w表示的是一年中的第几周,而不是指定月的第几周
您好, 1月份的确实没问题, 当我把dateStr换成2014-06-1, 还是显示1月的日期.
是怎么回事?因为new SimpleDateFormat("YYYY-MM-w")里面的w表示的是一年中的第几周,而不是指定月的第几周明白了..那怎么改成指定月的呢?
您好, 1月份的确实没问题, 当我把dateStr换成2014-06-1, 还是显示1月的日期.
是怎么回事?因为new SimpleDateFormat("YYYY-MM-w")里面的w表示的是一年中的第几周,而不是指定月的第几周明白了..那怎么改成指定月的呢?w改为F,另外YYYY应该改为yyyy
太谢谢你了.离最后的效果只差了一步. 不知道我只输出周一和周日的日期怎么改?
还有,for循环中的i没有在下面用到,那它是怎么输出周一到周日的日期的?求指点..cal.add(Calendar.DAY_OF_WEEK, 1);后面的1每次循环日期就会加1吧
您好, 1月份的确实没问题, 当我把dateStr换成2014-06-1, 还是显示1月的日期.
是怎么回事?因为new SimpleDateFormat("YYYY-MM-w")里面的w表示的是一年中的第几周,而不是指定月的第几周明白了..那怎么改成指定月的呢?w改为F,另外YYYY应该改为yyyy
w改为大写的W也行
您好, 1月份的确实没问题, 当我把dateStr换成2014-06-1, 还是显示1月的日期.
是怎么回事?因为new SimpleDateFormat("YYYY-MM-w")里面的w表示的是一年中的第几周,而不是指定月的第几周明白了..那怎么改成指定月的呢?w改为F,另外YYYY应该改为yyyy
w改为大写的W也行
换成大写W时间不对了
String dateStr = "2014-01-2";
//年月周----这里把y换成了小写,w换成了大写
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-W");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(dateStr));
//年月日
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
//国际标准的周天,默认第一天就是周天
System.out.println(sdf2.format(cal.getTime()));
//中国国情的周天,只要加一个星期就可以了。
cal.add(Calendar.DAY_OF_WEEK, 7);
System.out.println(sdf2.format(cal.getTime()));
//因为前面加了7天,所以这里减七天回到2014年1月5号,如果没有加7天,下面这行可供可省略
cal.add(Calendar.DAY_OF_WEEK, -7);
//周一
cal.add(Calendar.DAY_OF_WEEK,1);
System.out.println(sdf2.format(cal.getTime()));
}
您好, 1月份的确实没问题, 当我把dateStr换成2014-06-1, 还是显示1月的日期.
是怎么回事?因为new SimpleDateFormat("YYYY-MM-w")里面的w表示的是一年中的第几周,而不是指定月的第几周明白了..那怎么改成指定月的呢?w改为F,另外YYYY应该改为yyyy
w改为大写的W也行
换成大写W时间不对了
大写W显示的时间是指写月的指的周数的第一天,该天可能在上一个月里,这里只要简单加个判断就可以实现楼主的效果了