Java 根据指定日期计算所在周的周一和周日

public static void main(String[] args) throws ParseException {  
        
         SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); //设置时间格式  
         Calendar cal = Calendar.getInstance();  
         Date time=sdf.parse("2015-9-4 14:22:47");
         cal.setTime(time);  
         System.out.println("要计算日期为:"+sdf.format(cal.getTime())); //输出要计算日期  
         
         //判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了  
         int dayWeek = cal.get(Calendar.DAY_OF_WEEK);//获得当前日期是一个星期的第几天  
         if(1 == dayWeek) {  
            cal.add(Calendar.DAY_OF_MONTH, -1);  
         }  
         
        cal.setFirstDayOfWeek(Calendar.MONDAY);//设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一  
        
        int day = cal.get(Calendar.DAY_OF_WEEK);//获得当前日期是一个星期的第几天  
        cal.add(Calendar.DATE, cal.getFirstDayOfWeek()-day);//根据日历的规则,给当前日期减去星期几与一个星期第一天的差值   
        System.out.println("所在周星期一的日期:"+sdf.format(cal.getTime()));
        System.out.println(cal.getFirstDayOfWeek()+"-"+day+"+6="+(cal.getFirstDayOfWeek()-day+6));
        
        cal.add(Calendar.DATE, 6);
        System.out.println("所在周星期日的日期:"+sdf.format(cal.getTime()));  
         
    }
时间: 2024-08-09 19:47:21

Java 根据指定日期计算所在周的周一和周日的相关文章

java实现的日期计算

这里讲的日期计算比较偏,用到的地方很少(比如获取今天所在周的周一或者周日,获取今天是本月的第几周...),这些方法是以前做项目遗留下来的,现在整理一下,跟大家分享. 工具类主要有一下方法: public static Date getFirstMondayOfMonth(String dateString, String dateFormat) throws Exception 获取指定月份的第一个星期一,比如2014-12 月的第一个周一是2014-12-01 public static in

Java 获取指定日期的方法总结 -转

格式化日期 String-->Date  或者 Data-->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");    Date  date = sdf.parse("2009-11-04");//String-->Date String  sdate  = sdf.format(date );// Data-->String ==================

对指定日期计算出N天后的日期问题

指定日期计算出N天后的日期问题 问题描述:先输入起始日期,再输入任意天数n,求n天后的日期. 源代码一(参考http://zhidao.baidu.com/linkurl=0BxF0QvTywzuRkLUFj6ulUQKYqp97CjUOZBV1UUmXoCkS9HNyOT2axHkcOsRLi-xlB_JE6KvdglSD23S35EUXK) #include<stdio.h> <span style="font-family:SimHei;font-size:14px;&q

java 分别获取当前时间的年月日以及当前时间所在周的周一周末日期

以前也经常用date去截取,但是病史所有场景都适合,或者说效率满足不了,或者说拼接格外麻烦.能用java本省的的方法去实现其实更爽.因为中西方的文化的差异有时候在简单的方法上我们不得不去加一些其他的去计算,谁让java是西方的语言,我也想用国产的开发语言,但不知道这辈子能不能看到了.上代码: SimpleDateFormat simdf = new SimpleDateFormat("MM月dd日"); Calendar cal = Calendar.getInstance(); Sy

android 计算所在周所在月的前后日期

效果图: 使用了 一个时间相关的工具类 package com.yqy.yqy_date; import android.util.Log; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * 时间工具类 * @author YQY * */ public class ToolDateTime {

Java 获取指定日期的方法总结

格式化日期 String-->Date 或者 Data-->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse("2009-11-04");//String-->Date String sdate = sdf.format(date );// Data-->String =========================

Java 获取指定日期的实现方法总结

格式化日期 String-->Date  或者 Data-->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");    Date  date = sdf.parse("2009-11-04");//String-->Date   String  sdate  = sdf.format(date );// Data-->String ================

.net 根据输入日期得到当前所在周的周一(可延伸获取周的任何一天)

思想:主要根据DateTime类的DayOfWeek属性来得到周的英文名字,然后通过日期天数的加减运算得到周一. 1.调用: string today = "2015-7-13";//System.DateTime.Now.ToString();   lblDay.Text = GetMondayOfTheWeek(today); 2.方法: private string GetMondayOfTheWeek(string today)        {            stri

java 获取指定日期

//可以设置指定那一天:例如,最近一周,参数传入-7,最近一月,参数传入-30...private String getBeginDate(int date) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date beginTime = new Date(); Calendar beginCalendar = Calendar.getInstance(); begi