怎么通过当前时间来获取到这一周的时间?

Tong__wei 2018-01-03 11:27:25
怎么通过当前时间来获取到这一周的时间?
...全文
614 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2018-01-10
  • 打赏
  • 举报
回复
看到 CSDN 在帖子下面推荐的博文: http://blog.csdn.net/Kiss_Mark/article/details/47006107 发现有人使用了更为简便的方法,方法如下:
package com.java.test;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class DummyMethod {
	public static void main(String[] args) {
		String dtf = "yyyy.MM.dd HH:mm:ss.SSS";
		DateFormat df = new SimpleDateFormat(dtf);
		Calendar cal = Calendar.getInstance();
		cal.set(Calendar.HOUR_OF_DAY, 0);
		cal.set(Calendar.MINUTE, 0);
		cal.set(Calendar.SECOND, 0);
		cal.set(Calendar.MILLISECOND, 0);
		{
			// 以周一作为本周的第一天
			Calendar cal1 = (Calendar)cal.clone();
			System.out.println("Time range of current week:");
			cal1.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
			System.out.println(df.format(cal1.getTime()));
			cal1.add(Calendar.WEEK_OF_YEAR, 1);
			System.out.println(df.format(cal1.getTime()));
		}
		{
			// 以周日作为本周的第一天
			Calendar cal2 = (Calendar)cal.clone();
			System.out.println("Time range of current week:");
			cal2.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
			System.out.println(df.format(cal2.getTime()));
			cal2.add(Calendar.WEEK_OF_YEAR, 1);
			System.out.println(df.format(cal2.getTime()));
		}
	}
}
博文中输出的是年月日,并且打出本周的范围时,以周一到周日的日期打出。 而我是以当前周一到下周一的方式打出,代码略不同,少了一行设置星期的代码。
RamseyZhang 2018-01-04
  • 打赏
  • 举报
回复
joda-time
「已注销」 2018-01-03
  • 打赏
  • 举报
回复
package com.java.test;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class DummyMethod {
    public static void main(String[] args) throws ParseException {
        Calendar cal = Calendar.getInstance();
//      默认为当前时间。也指定其他时间,参数为 long 或 Date。
//      cal.setTimeInMillis(ts);
//      cal.setTime(dt);
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        int offset = 0;
//      以周一作为本周的第一天
        switch (cal.get(Calendar.DAY_OF_WEEK)) {
        case Calendar.SUNDAY:
            offset--;
        case Calendar.SATURDAY:
            offset--;
        case Calendar.FRIDAY:
            offset--;
        case Calendar.THURSDAY:
            offset--;
        case Calendar.WEDNESDAY:
            offset--;
        case Calendar.TUESDAY:
            offset--;
        case Calendar.MONDAY:
            break;
        default:
            break;
        }
//      以周日作为本周的第一天
//      switch (cal.get(Calendar.DAY_OF_WEEK)) {
//      case Calendar.SATURDAY:
//          offset--;
//      case Calendar.FRIDAY:
//          offset--;
//      case Calendar.THURSDAY:
//          offset--;
//      case Calendar.WEDNESDAY:
//          offset--;
//      case Calendar.TUESDAY:
//          offset--;
//      case Calendar.MONDAY:
//          offset--;
//      case Calendar.SUNDAY:
//          break;
//      default:
//          break;
//      }
        String dtf = "yyyy.MM.dd HH:mm:ss.SSS";
        DateFormat df = new SimpleDateFormat(dtf);
        System.out.println("Time range of current week:");
        cal.add(Calendar.DAY_OF_MONTH, offset);
        System.out.println(df.format(cal.getTime()));
        cal.add(Calendar.WEEK_OF_YEAR, 1);
        System.out.println(df.format(cal.getTime()));
    }
}
Time range of current week:
2018.01.01 00:00:00.000
2018.01.08 00:00:00.000
自由自在_Yu 2018-01-03
  • 打赏
  • 举报
回复
怎么通过当前时间来获取到这一周的时间? 什么意思呀,是这一周的周一00:00 ---周日24:00 ?

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧