首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用Momentjs diff比较两个日期

如何使用Momentjs diff比较两个日期
EN

Stack Overflow用户
提问于 2017-10-22 21:30:20
回答 1查看 1.2K关注 0票数 1

我试着比较两次约会。如果收到的日期在当前(今天)之前,我必须删除属性@availabilityBeginDate,但是如果收到的日期是当前日期之后,我必须保存它。我是用CoffeeScript写的。

我想用Moment.js和diff做这件事。这是我尝试过的代码,但是它不起作用,我也不知道为什么。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (moment(moment(getCurrentDate()).diff(@availabilityBeginDate)).format("DD MMMM YYYY") < 0) 
    delete @availabilityBeginDate

下面是getCurrentDate方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
getCurrentDate:() ->
  today = new Date
  dd = today.getDate()
  mm = today.getMonth() + 1
  yyyy = today.getFullYear()
  if dd < 10
    dd = '0' + dd
  if mm < 10
    mm = '0' + mm
  today = dd + ' ' + mm + ' ' + yyyy
  return today

下面是我如何保存@availabilityBeginDate

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bidDispoDetails.rows.push({label: 'Début', value: moment(@availabilityBeginDate).format("DD MMMM YYYY")}) if @availabilityBeginDate?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-22 22:06:16

format方法设置输出的格式。若要提供解析格式,请在对构造函数的调用中提供该格式。

我认为,按照逻辑步骤,您要寻找的是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var availabilityBeginDate = '10 10 2017';
var format = 'DD MM YYYY';
var today = moment().startOf('day');
var begin = moment(availabilityBeginDate, format);

if (today.diff(begin) < 0) {
  console.log(today.format(format) + ' is  before ' +  begin.format(format));
  
} else {
  console.log(today.format(format) + ' is  after ' +  begin.format(format));

}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.1/moment.min.js"></script>

如果您想要的话,可以将所有这些内容合并在一起,isAfter方法比diff更具语义性。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var availabilityBeginDate = '10 10 2017';

if (moment().startOf('day').isAfter(moment(availabilityBeginDate, 'DD MM YYYY'))) {
  console.log('After');

} else {
  console.log('Before');

}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.1/moment.min.js"></script>

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46882491

复制
相关文章
[日常] Linux使用diff来比较目录
-u -U NUM --unified[=NUM] Output NUM (default 3) lines of unified[统一] context.
唯一Chat
2019/09/10
2.8K0
[日常] Linux使用diff来比较目录
java比较两个日期相差的天数
这种方式主要是通过计算两个时间之间的毫秒数来判断,如果相差不超过24小时,则说明是同一天
崔笑颜
2020/06/08
4.5K0
momentjs使用指南
momentjs是一个处理时间格式化的npm包,非常流行,这个包前后端通用,文档也很详细,但是他的api还是有点多,这里小编将其经常使用的api罗列出来,方便大家使用。
挥刀北上
2019/07/19
3.3K0
momentjs使用指南
JavaScript中竟然可以这样比较两个日期
在JavaScript中,我们有一个 new Date()的构造函数,该构造函数返回包含不同类型的方法的date对象。例如:
前端修罗场
2022/07/29
3.1K0
Python比较两个日期的多种方法!
之前我们曾经分享过:Python获取某一日期是“星期几”的6种方法!实际上,在我们使用Python处理日期/时间的时候,经常会遇到各种各样的问题。今天我们就来探讨另一个问题,如何用Python比较两个日期?
快学Python
2022/11/28
3K0
Python比较两个日期的多种方法!
VUE中diff比较
要知道渲染真实DOM的开销是很大的,比如有时候我们修改了某个数据,如果直接渲染到真实dom上会引起整个dom树的重绘和重排,有没有可能我们只更新我们修改的那一小块dom而不要更新整个dom呢?diff算法能够帮助我们。
全栈程序员站长
2021/07/01
6870
js 比较两个日期大小,比较同一天两个时间大小
比较两个日期大小 js 比较两个日期大小有两种方法 方法一: //比较两个日期大小。格式:2018-8-12 12:30 const compareDate = (d1, d2) => { return ((new Date(d1.replace(/\-/g, "\/"))) > (new Date(d2.replace(/\-/g, "\/")))); } 方法二: //比较两个日期大小。格式:2018-8-12 12:30 const compareDate2 = (d1, d2) => { l
solocoder
2022/04/06
5.5K0
在 Java 中如何比较日期?
在 Java 中有多种方法可以比较日期,日期在计算机内部表示为(long型)时间点——自1970年1月1日以来经过的毫秒数。在Java中,Date是一个对象,包含多个用于比较的方法,任何比较两个日期的方法本质上都会比较日期的时间。
武培轩
2019/10/19
4.7K0
如何使用Java计算两个日期之间的天数
在Java中,可以通过多种方式计算两个日期之间的天数。以下将从使用Java 8的日期和时间API、使用Calendar类和使用Date类这三个角度进行详细介绍。
很酷的站长
2023/09/24
5.1K0
如何使用Java计算两个日期之间的天数
javaCalendar日期比较
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142081.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/25
1.7K0
golang如何计算两个日期之间的日期差?
golang如何计算两个日期之间的日期差? 日期格式:“2017-09-01” ,“2018-03-11”
双面人
2022/09/28
7.4K0
如何比较两个JavaScript对象
两个月以前在公众号发过一个图片消息,标题是 How to compare two objects in JavaScript,有一个关注了我的同事第二天告诉我说看不懂。看不懂是结果,而为什么看不懂则是导致这一结果的过程。我试着揣测了她看不懂的过程,大概有这些原因:
kyrieliu
2020/07/01
1.5K0
如何用Python获取两个日期之间的日期?
问:如何用Python获取两个日期之间的日期? def date_range(start, end): delta = end - start # as timedelta days = [start + timedelta(days=i) for i in range(delta.days + 1)] return days start_date = datetime(2020, 12, 1) end_date = datetime(2020, 12, 5) print(d
TalkPython
2020/12/11
5.8K0
在Shell中使用日期运算和比较
脚本内容大概主要包括以下: 1、有且只有两个输入参数,都是必输项。 2、参数的格式是日期且格式是“yyyyMMdd"(如:20140101) 3、第二个参数一定要比第一个参数晚 4、最终的执行结果就是将两个日期区间的日期打印出来。
用户7108768
2021/10/31
1.7K0
linux 命令-文本比较comm、diff、patch
比如,我有两个文件char和chardiff如上,略有不同,就可以用这个命令输出。
机智的程序员小熊
2019/12/11
3.8K0
java比较日期大小
测试用例: String beginTime=new String("2021-04-25 11:22:22"); String endTime=new String("2021-04-25 11:22:22"); 方法一:用Date的before()和after()方法 返回值 方法 描述 boolean after(Date when) 测试日期是否在指定日期之后 boolean before(Date when) 测试此日期是否在指定日期之前 String beginT
别团等shy哥发育
2023/02/25
3.8K0
java比较日期大小
在python中如何比较两个float
奇怪的现象 前几天跟同事聊起来,在计算机内部float比较是很坑爹的事情。比方说,0.1+0.2得到的结果竟然不是0.3? >>> 0.1+0.2 0.30000000000000004 为什么会出现
py3study
2020/01/06
4.2K0
[Linux] 使用awk比较两个文件的内容
当需要比较A , B两个文件 , A文件中存在 , 并且把也在B文件中存在的行去除掉 , 可以使用这个awk的用法来
唯一Chat
2019/12/26
2.9K0
Java获取两个日期之间的日期
/** * 获取两个日期之间的日期 * @param start 开始日期 * @param end 结束日期 * @return 日期集合 */ private List<Date> getBetweenDates(Date start, Date end) { List<Date> result = new ArrayList<Date>(); Calendar tempStart = Calendar.g
水煮麥楽雞
2022/11/20
6.1K0
java两个日期相减-(日期)工具类
import java.lang.management.ManagementFactory; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZoneId;
高大北
2022/06/14
2.5K0

相似问题

使用Momentjs比较两个日期

20

使用momentjs比较日期

111

Momentjs,比较utc日期

12

使用momentJS比较2个日期

21

如何使用MomentJs和React比较日期和时间

162
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文