今天工作的时候用到了JS获取日期,在网上一搜罗一大堆,前天的日期就等于获取的日期减去两天就可以,都是类似这种的代码:
<script language="JavaScript" type="text/javascript">
function GetDateStr(AddDayCount)
{
var dd = new Date();
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期
var y = dd.getYear();
var m = dd.getMonth()+1;//获取当前月份的日期
var d = dd.getDate();
return y+"-"+m+"-"+d;
}
document.write("前天:"+GetDateStr(-2));
document.write("<br />昨天:"+GetDateStr(-1));
document.write("<br />今天:"+GetDateStr(0));
document.write("<br />明天:"+GetDateStr(1));
document.write("<br />后天:"+GetDateStr(2));
document.write("<br />大后天:"+GetDateStr(3));
</script>
看似没错,但是当月初的时候问题就出现了,如果今天是2012-07-02 那么结果出来的是 2012-07-00 这是不科学的,正确的方法应该是利用将某天的日期转换成毫秒数,然后减去或者加上N天的1000*60*60*24毫秒数,再将这个值通过setTime换成日期即可。
function getDay(day){
var today = new Date();
var targetday_milliseconds=today.getTime() + 1000*60*60*24*day;
today.setTime(targetday_milliseconds); //注意,这行是关键代码
var tYear = today.getFullYear();
var tMonth = today.getMonth();
var tDate = today.getDate();
tMonth = doHandleMonth(tMonth + 1);
tDate = doHandleMonth(tDate);
return tYear+"-"+tMonth+"-"+tDate;
}
function doHandleMonth(month){
var m = month;
if(month.toString().length == 1){
m = "0" + month;
}
return m;
}
只要这样就不会出现不科学的日期了。
分享到:
相关推荐
在C#编程语言中,经常需要处理与日期相关的操作,例如获取当前月份的起始日期(月初)和结束日期(月末)。这些功能在许多应用程序中都非常实用,尤其是在涉及到按月度进行数据统计或报告时。本文将详细介绍如何在C#...
自动获取全年每个月的月初日常到月末日期.xlsx
在JavaScript编程语言中,获取当前月份的第一天和最后一天的日期是常见的需求,尤其是在处理日期相关的功能时。这里我们将详细探讨如何使用JavaScript实现这个功能。 首先,我们需要了解JavaScript中的Date对象。...
### 一、获取当前日期所在周一 在C#中,可以通过计算当前日期与周一之间的天数差来确定周一的日期。具体实现如下: ```csharp public static DateTime GetDateTimeWeekFirstDayMon(DateTime dateTime) { DateTime...
java获取今天、昨天、近一周、近两周、近三周、近一月、近两月、近三月、近半年、本周、上周、本月、上月时间段
本文将深入探讨如何使用C#中的DateTime类来获取当前时间,并基于此计算本周、本月、本季度以及月初、月末等各个时间段的具体日期。这对于进行时间序列数据分析、报表生成、日程安排等多种场景都具有重要的应用价值。...
3. **获取本月日期**:获取本月的开始日期(月初第一天)和结束日期(月末最后一天)相对简单,只需设置月份为当前月份,日期为1(开始)和0(结束,会自动调整到下月第一天并减去1天): ```javascript function...
获取两个时间段的周一,周日以及月初和月末,java代码 获取两个时间段的周一,周日以及月初和月末,j
这段代码首先通过`date()`函数获取当前的月份(m)和年份(Y),然后构造月初日期字符串(例如,2023-03-01)。`date('t')`返回的是给定月份的天数,例如2月可能是28或29,3月是31等。将这个天数与月初日期结合,...
在JavaScript中,获取当前月的第一天的日期是一个常见的任务,特别是在处理日历或者数据分析的应用中。这个需求可以通过JavaScript的内置Date对象和其方法来实现。下面我们将详细探讨如何使用JavaScript来返回当前月...
在JavaScript编程中,选择日期是一项常见的任务,尤其在构建用户界面时,允许用户方便地选取特定日期至关重要。这里,我们讨论的"js选择日期"功能是通过提供一系列预定义选项,如“今日”、“昨日”、“本周至今”等...
例如,当用户更改日期时触发一个函数: ```javascript select.addEventListener('change', function() { var selectedDate = new Date(this.value); // 在这里处理选择的日期,如保存到变量或发送请求 }); ``` ...
获取本月的第一个星期一,可以先计算出当前日期距本月第一个星期一的天数,再添加到月初日期: ```sql SELECT DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, 6 - DATEPART(day, GETDATE()), GETDATE())), 0) ``` 最后...
当前的日期、根据指定日期得获取对应年份的所有月的日期、获取月初时间、获取月末时间、获取当天的起始时间、获取当天的结束时间、获取昨天的开始时间、获取昨天的结束时间、当前季度的开始时间、当前季度的结束时间...
在Java编程语言中,开发一个可以输入任意年月并输出对应月份万年历的功能,是一项常见的日期处理任务。万年历通常是指一种显示特定日期范围内日程和日期信息的工具,这里我们关注的是如何通过纯代码实现,不依赖任何...
本文将深入探讨如何在SQL中查询一个月的第一天,并详细解释与之相关的日期函数,如`DATEDIFF`和`DATEADD`,这些函数在处理日期时间数据时极为关键。 ### 查询一个月的第一天 要查询当前月的第一天,可以使用`...
在Linux系统中,获取某个特定日期对应的月末日期是一项常见的任务,尤其在数据分析、日志处理或者脚本编程中。本文将详细介绍如何利用内置的`date`命令来实现这个功能。 首先,我们需要理解`date`命令的基本用法。`...
例如,代码中的cal.add(Calendar.DATE,-1)是将当前日期减去一天来获取昨天的日期。返回格式化的日期字符串应该是格式化cal对象中的时间值。 6. 常量定义: 代码中定义了一些公共静态常量,例如TODAY_DATETIME、...
要获取本月的起始和结束日期,可以通过减去当前日期与本月第一天之间的天数差来获得月初的日期;而月末日期则可以通过将月初日期加上一个月再减去一天来计算: ```csharp DateTime startMonth = dt.AddDays(1 - dt....