使用 JavaScript 或 jQuery 获取当前月份的第一个和最后一个日期 [重复]
Posted
技术标签:
【中文标题】使用 JavaScript 或 jQuery 获取当前月份的第一个和最后一个日期 [重复]【英文标题】:Get first and last date of current month with JavaScript or jQuery [duplicate] 【发布时间】:2012-11-14 08:01:18 【问题描述】:正如标题所说,我一直在寻找一种方法来使用 javascript 或 jQuery 获取当前月份的第一个和最后一个日期,并将其格式化为:
例如,11 月应该是:
var firstdate = '11/01/2012';
var lastdate = '11/30/2012';
【问题讨论】:
别难为情,一个月的最后一天是下个月第一天的-1天。这很好:***.com/a/1924846/168703 【参考方案1】:非常简单,不需要库:
var date = new Date();
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);
或者您可能更喜欢:
var date = new Date(), y = date.getFullYear(), m = date.getMonth();
var firstDay = new Date(y, m, 1);
var lastDay = new Date(y, m + 1, 0);
编辑
一些浏览器会将两位数的年份视为 20 世纪,因此:
new Date(14, 0, 1);
给出 1914 年 1 月 1 日。为避免这种情况,请创建一个日期,然后使用 setFullYear 设置其值:
var date = new Date();
date.setFullYear(14, 0, 1); // 1 January, 14
【讨论】:
在接受的答案中尝试使用代码,我得到 firstDay 为“Fri Aug 01 2014 00:00:00 GMT+0800 (SGT)”和 lastDay 为“Sun Aug 31 2014 00:00:00 GMT +0800 (SGT)" 表示当前月份,这是不正确的答案。有什么变化吗? @Kush 你到底期待什么答案? 正如@moozy 提出的问题,我正在寻找相同的内容:var firstdate = '11/01/2012'; var lastdate = '11/30/2012'; @Kush——当前月份是 8 月,因此它将返回 8 月的日期。如果您想要其他月份,请为该月的第一天创建一个日期并使用上述算法获取最后一个,例如2014 年 11 月:var firstDay = new Date(2014,10,1); var lastDay = new Date(2014,11,0);
.
对于像我这样想知道使用“December+1”和当月“0”来获取上个月最后一天的人来说,这一切都符合规范;见developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…【参考方案2】:
我用Datejs
修复了它
这是第一天的提醒:
var fd = Date.today().clearTime().moveToFirstDayOfMonth();
var firstday = fd.toString("MM/dd/yyyy");
alert(firstday);
这是最后一天:
var ld = Date.today().clearTime().moveToLastDayOfMonth();
var lastday = ld.toString("MM/dd/yyyy");
alert(lastday);
【讨论】:
以上是关于使用 JavaScript 或 jQuery 获取当前月份的第一个和最后一个日期 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 JavaScript 或 jQuery 获取当前月份的第一个和最后一个日期 [重复]
使用 jQuery 或 Javascript 获取括号内的字符串
如何使用 javascript 或 jquery 仅从字符串中获取所有 HTML 标记? [关闭]
如何使用 Javascript 或 Jquery 获取网页图标/ Apple 触摸图标和标题?