date.setHours(0,0,0,0)使用moment.js时最简单的等价是什么?
基本上,如果我需要一个new Date()小时,分钟,秒和毫秒的时刻归零.
我注意到对于我们东部时区("America/New_York"),时区偏移量为"-05:00" Date.getTimezoneOffset()返回正数300.我希望在几分钟内偏移量为负值来自Utc的West,以及Utc以东地区的积极,但显然它是"翻转".这个决定背后的原因是什么?
http://momentjs.com/遵循相同的规则并返回...
moment.parseZone("01/13/2014 3:38:00 PM +01:00").zone() // == -60
moment.parseZone("01/13/2014 3:38:00 PM -01:00").zone() // == 60
Run Code Online (Sandbox Code Playgroud)
同时,DateTimePicker http://trentrichardson.com/examples/timepicker/在设置其初始"timezone"参数时不会翻转数字.这是错的吗?
我需要验证用户的日期并检查它是否采用特定格式.如果是,那么它将被接受,否则它将不会.我正在寻找那种
value.match("regular expression")
Run Code Online (Sandbox Code Playgroud)
以上工作正常,如果我必须选择几种格式.所以,我遇到了这个时刻.有兴趣知道如何使用isSame().我尝试实现但不成功.喜欢 :
var x=moment("MM/DD/YYYY") ;
x.isSame("28-02-1999"); // am getting false which is right
var x=moment("28-02-1999","DD-MM-YYYY") ;
x.isSame("28-02-1999"); // am getting false which is wrong
Run Code Online (Sandbox Code Playgroud)
所以,请帮忙.谢谢
我现在一直在使用moment.js,这使得日期操作变得容易多了但是我有一个特定的情况是失败的,我不明白为什么.
在计算今天(2013年10月31日)和2014年2月1日之间的差异时,虽然两个日期之间有3个完整的月份和一天,但是差异时间差异为2.
10月31日至1月31日之间的差异很好:3个月零天.
var mStartDate = moment([ periodStartDate.getFullYear(), periodStartDate.getMonth(), periodStartDate.getDate() ]);
var mTermDate = moment([ someDate.getFullYear(), someDate.getMonth(), someDate.getDate() ]);
console.log('periodStartDate: ' + periodStartDate);
console.log('someDate: ' + someDate);
// Years
var yearsDiff = mTermDate.diff(mStartDate, 'years');
// Months
var monthsDiff = mTermDate.diff(mStartDate, 'months', true);
Run Code Online (Sandbox Code Playgroud)
控制台记录以下内容:
periodStartDate: Thu Oct 31 2013 11:13:51 GMT+0000 (GMT)
someDate: Sat Feb 01 2014 11:13:51 GMT+0000 (GMT)
monthsDiff: 2
Run Code Online (Sandbox Code Playgroud)
如果我传递true作为布尔值而不是舍入,那么差异就是几个月
monthsDiff: 2.983050847457627
Run Code Online (Sandbox Code Playgroud)
这只是Moment.js.diff()中的一个错误吗?我的其他测试用例中的每一个都成功通过.
我有两个时刻:
var fromDate = moment(new Date('1/1/2014'));
var toDate = moment(new Date('6/1/2014'));
Run Code Online (Sandbox Code Playgroud)
片刻是否提供了枚举这两个日期之间所有日期的方法?
如果没有,除了制作一个增加fromDate1 的循环直到它到达时,还有更好的解决方案toDate吗?
编辑:添加日期枚举方法和问题
我已经嘲笑了一个枚举两个日期之间日期的方法,但我遇到了一个问题.
var enumerateDaysBetweenDates = function(startDate, endDate) {
var dates = [];
startDate = startDate.add(1, 'days');
while(startDate.format('M/D/YYYY') !== endDate.format('M/D/YYYY')) {
console.log(startDate.toDate());
dates.push(startDate.toDate());
startDate = startDate.add(1, 'days');
}
return dates;
};
Run Code Online (Sandbox Code Playgroud)
我跑的时候看一下输出 enumerateDaysBetweenDates( moment(new Date('1/1/2014')), moment(new Date('1/5/2014'));
Thu Jan 02 2014 00:00:00 GMT-0800 (PST)
Fri Jan 03 2014 00:00:00 GMT-0800 (PST)
Sat Jan 04 2014 00:00:00 GMT-0800 (PST)
[ Sun Jan …Run Code Online (Sandbox Code Playgroud) 我想从当前日期减去7天,使用moment.js库获取格式化日期YYYY-MM-DD.
我试着这样做:
dateTo = moment(new Date()).format('YYYY-MM-DD');
dateFrom = moment(new Date() - 7).format('YYYY-MM-DD');
console.log(dateFrom);
console.log(dateTo);
Run Code Online (Sandbox Code Playgroud)
但是所有返回的值都是相同的.
我怎样才能得到昨天从午夜到午夜的时间范围:
例:
昨天22.07.2015
结果:
22.07.2015 00:00:00(AM)
22.07.2015 23:59:59(PM)
日期格式无关紧要这只是一个例子.
我怎么能从JS的那一刻开始从过去的某个日期开始的星期编号只从一个选定日期的格式化对象开始?
我使用Moment.js来解析字符串并分别获取日,月和年:
var date = moment("12-25-1995", "MM-DD-YYYY");
var day = date.day();
Run Code Online (Sandbox Code Playgroud)
但是,day它不是25-it 1.什么是正确的API方法?
我有一个字符串Mon 03-Jul-2017, 11:00 AM/PM,我必须将其转换为像11:00 AM/PM使用时刻js 的字符串.
这里的问题是我无法获取AM或PM来自日期时间字符串.
我这样做:
moment(Mon 03-Jul-2017, 11:00 AM, 'dd-mm-yyyy hh:mm').format('hh:mm A')
Run Code Online (Sandbox Code Playgroud)
并且它正常工作,11:00 AM但如果字符串中有PM它仍然AM在输出中给出.
像这样moment(Mon 03-Jul-2017, 11:00 PM, 'dd-mm-yyyy hh:mm').format('hh:mm A')也是11:00 AM输出而不是11:00 PM
javascript ×10
momentjs ×10
date ×2
datetime ×1
substr ×1
timezone ×1
validation ×1
week-number ×1