import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CalendarTest {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.set(Calendar.DAY_OF_MONTH, 23);
System.out.println("星期" + (cal.get(Calendar.DAY_OF_WEEK)-1));
Date date = calculateByWeeksOfMonday(cal.getTime(), 3);
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(f.format(date));
}
/**
* 计算返回离当前时间(包含当前时间周)近几周的星期一的时间,精确到当天时间
* @param date 时间
* @param amount 近几周
* @return
*/
private static Date calculateByWeeksOfMonday(Date date,int amount){
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK)-1; //返回当前周的星期几
amount += -1;//减去当前周
int days = amount*7;//7天为一个周
switch (dayOfWeek) {
case 0://星期日
days+=6;
break;
case 1://星期一
days+=0;
break;
case 2://星期二
days+=1;
break;
case 3://星期三
days+=2;
break;
case 4://星期四
days+=3;
break;
case 5://星期五
days+=4;
break;
case 6://星期六
days+=5;
break;
default:
break;
}
cal.add(Calendar.DAY_OF_MONTH, -days);//设置距离当前周的近几周的星期一的时间差
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal.getTime();
}
}
分享到:
相关推荐
总之,利用Visual C++中的`COleDateTime`类,我们可以通过简单的几步操作来获取当前的日期信息,并进一步计算出今天是今年的第几周。这种能力在开发日程管理、数据分析等多种类型的软件时极为有用。开发者可以根据...
获取当前日期是第几周 ```java public static int getWeekOfYear(Date date) ``` 该方法接收一个`Date`对象作为参数,并返回该日期所处的周数。实现时,首先创建了一个`GregorianCalendar`实例,并将其每周的第一天...
《计算几何——算法分析与设计》是周培德教授撰写的一本深入探讨计算几何领域的专著。这本书详尽地阐述了计算几何的基本概念、核心算法以及在实际问题中的应用。计算几何是计算机科学的一个重要分支,它研究如何用...
在本文中,我们将深入探讨时间片轮转调度算法,并结合提供的资源——"南邮实验周_时间片轮转调度算法模拟_代码",来解析这一关键的计算机操作系统概念。时间片轮转调度算法是操作系统中多任务处理的一种策略,旨在...
周培德所著的《计算几何——算法分析与设计》一书,是深入理解和掌握这一领域的经典教材。这本书由清华大学出版社出版,以PDG格式提供,可能是电子版或扫描版的形式。 计算几何的主要目标是解决几何问题,例如点、...
这个主题主要探讨如何在C#中计算一年中的周数、确定某一天在当年的第几周,以及获取特定日期所在周的起始和结束日期。我们将通过深入理解.NET Framework的DateTime结构和相关类来探讨这些概念。 首先,了解基础:C#...
3. `getFirstDayOfWeek(int year, int week)` 和 `getLastDayOfWeek(int year, int week)` 方法:这两个方法分别返回给定年份的第几周的第一天和最后一天。首先,它们将日期设置为该年的1月1日,然后根据指定的周数...
这个知识点的核心是JavaScript中处理日期和时间的技巧,特别是如何基于特定的算法来计算当前日期是本月份和本年的第几周。这不仅涉及到对Date对象的熟悉,还涉及到对时间计算公式的理解。掌握这些技能对开发涉及日期...
对于星期几,可以用`TO_CHAR(SYSDATE, 'day')`获取,或者用'iW'获取一年中的第几周。 Oracle中还可以通过`TO_DATE()`函数将字符串转换为日期,然后进行各种操作。例如,获取指定日期之后的第二天,可以这样写: ``...
这包括讨论算法需要多少计算时间和存储空间,例如,某些问题虽然在理论上能够由计算机解决,但因其算法占用资源太多而无法实际完成,需要选择其他算法或改进算法。 本课程的计算机是和图灵机计算能力等价的、冯诺...
- `TO_CHAR(date, 'WW')`:返回日期是一年的第几周,注意这里的周可能不与ISO标准一致,需要结合具体NLS设置理解。 这些函数提供了对Oracle数据库中日期和时间数据的强大处理能力。在实际应用中,可以根据需要灵活...
各种时间处理方法,譬如:时间差,获取传入日期是第几周,本月第一天等等。
重复控制的思想是假定前一周期出现的基波波形畸变将在下一个周期的同一时间重复出现,控制器根据给定信号和反馈信号的误差来确定所需的校正信号,然后在下一个基波周期的同一时间将此信号叠加到原控制信号上,以消除...
该算法旨在通过减少乘法和除法运算来缩短测量时间,并通过采用整数除法和频率分割电路来避免计算误差。此外,作者还编写了一个参数分配表,使得算法能够适应不同系数的编码器。 #### 技术背景与需求分析 光电编码...
1. **确定区间**:首先,定义一个时间周期,如日、周或月,作为计算的区间。这个区间可以根据投资者的交易策略进行选择。 2. **获取价格数据**:在这个区间内,收集最高价(High)、最低价(Low)、开盘价(Open)...
如果未超过,则根据当前时间、估计执行时间和截止期计算可达截止期。只有当可达截止期大于零时才会调度该任务,否则将其取消。 ### 多处理器动态调度算法 多处理器环境下的动态调度算法与单处理器类似,但更复杂,...
4. **采样周期T**:T是计算新一周期PID值的时间间隔,它与系统的实时性能密切相关。T越小,控制精度越高,但计算量也越大。T的选择需要在计算能力和控制要求之间找到平衡。 在代码实现中,增量式PID算法通常包含...
在设计随机化算法时,论文提出了考虑以下几个关键点:1) 时间效率;2) 解的正确性;3) 解的质量(与最优解的接近度);4) 稳定性。其中,稳定性不仅关乎算法的平均时间复杂度,也包括正确解和优质解出现的概率。 总...
在这个特定的问题中,我们要探讨的是如何在易语言中判断一个给定的时间是该年或该月的第几个星期。 首先,我们需要理解易语言中的日期和时间处理函数。易语言提供了一系列内置的日期/时间函数,如“获取当前日期”...