如何使用Javascript AngularJS打印一个月的所有日期
How to print all the dates of a month using Javascript AngularJS
我想显示给定月份的所有日期。假设,如果我选择Oct, 2015,那么它应该在一个列表中显示该月的所有日期。我可以使用setDate()打印接下来365天的所有日期,但是我怎么能只打印选定月份的日期呢?检查此代码以显示接下来的365天。
function Ctrl($scope) {
$scope.dates = [];
for (i = 0; i <= 364; i++) {
var d = new Date();
$scope.dates.push(d.setDate(d.getDate() + i));
}
}
可以使用DateJs
,你的代码可以像这样
function Ctrl($scope) {
$scope.dates = [];
for (i = 0; i < 365; i++) {
$scope.dates.push((i).days().fromNow());
}
}
如果你能得到一个月的总天数,那么你就可以做
$scope.month =10; $scope.year =2015; $scope.nDays = new Date( $scope.year, $scope.month, 0).getDate() ;
以上代码得到2015年10月的n天。
用以下代码循环nDays
for (i = 1; i <= $scope.nDays; i++) {
var d = new Date();
$scope.dates.push(d.setDate(d.getDate() + i));}
希望能有所帮助。
注入moment js库,它将为您提供很多帮助
链接http://momentjs.com/
你很接近了。正如Jaromanda X建议的那样,从1开始,一直到月份变化(不要忘记将变量保持在本地)。您需要每次复制日期:
function Ctrl($scope) {
$scope.dates = [];
var d = new Date(),
i = 1,
m = d.getMonth();
// Set date to start of month
d.setDate(i);
// Store the current month and keep going until it changes
while (d.getMonth() == m) {
// Store dates as a string (format however you wish)
$scope.dates.push('' + d);
// Or store dates as Date objects
$scope.dates.push(new Date(+d));
// Increment date
d.setDate(++i);
}
// return something?
}
编辑
允许输入月份(也是do而不是for循环的例子):
// Use calendar month number for month, i.e. 1=jan, 2=feb, etc.
function Ctrl($scope, month) {
$scope.dates = [];
var d = new Date();
d.setMonth(month - 1, 1);
do {
$scope.dates.push('' + d);
d.setDate(d.getDate() + 1);
} while (d.getDate() != 1)
}
或者允许输入月份和年份,默认为当前月份和年份:
function Ctrl($scope, month, year) {
$scope.dates = [];
var d = new Date();
d.setFullYear(+year || d.getFullYear(), month - 1 || d.getMonth(), 1);
do {
$scope.dates.push('' + d);
d.setDate(d.getDate() + 1);
} while (d.getDate() != 1)
}
您可以这样尝试:
function Ctrl($scope) {
$scope.dates = [];
var month = 3;
var year = 2015;
for (i = 1; i <= 30; i++) { //You have to know the number of days in the month you want tho
var d = new Date();
$scope.dates.push(new Date(year, month, i));
}
}
相关文章:
- 引导程序日期时间选择器来自另一个日期时间选择器
- 为什么在JavaScript中可以从另一个日期对象中减去日期对象
- 从上一个日期创建日期并添加到该日期
- 从另一个日期选择器中选择另一个值后,获取日期选择器的起始值
- Onsen UI在点击时显示一个日期选择器
- 有可能做一个日期&使用jquery ui的时间日历
- jquery日期选择器-选择时激活另一个日期选择器
- 使用jquery以dd-mmm-yyyy格式获取给定日期后的第一个日期和最后一个日期
- 给一个日期加两个小时
- 计算特定日期's将日期更改为另一个日期,并打印它们的差异
- 我的输入字段听到除回车之外的每个“键下”事件.我有一个日期选择器,不确定发生了什么
- 计算当天和另一个日期之间的差额时出现错误差异
- jQuery UI 日期选择器:向另一个日期选择器添加 6 个月
- 如何在没有周末的情况下添加天数以从当前日期获取下一个日期
- 每当我在 jquery UI 日期选择器中更改月份/年份时,如何获取该月的第一个日期和最后一个日期
- 给定一个日期/时间字符串,w javascript/jquery,你怎么能确定它是否是今天
- 将当前日期与 JavaScript 上的另一个日期时间进行比较
- 如何在引导日期设置每月的第一个日期和最后一个日期
- 如何使用另一个日期输入字段将日期设置为输入字段
- Ajax 日历扩展器不选择上一个日期