Javascript - 将字符串转换为日期并比较日期

标签 javascript date

我有来自日期选择器的日期,我访问的是 -

var transdate = $j("input[name='enterdate']").val();

导致 transdate = "6/22/2015"

我需要测试输入的日期是否在定义为的两个日期之间 startdate = '2015-02-01'enddate = '2015-07-30'

如何在以下代码中将转换日期转换为 yyyy-mm-dd 格式 -

if ((new Date('transdate')>= startdate ) && (new Date('transdate') <= enddate )) {

alert("correct date entered");
}

最佳答案

Moment.js是一个小型方便的日期库,可以让这一切变得简单。

moment('6/22/2015', 'M/D/YYYY')
  .isBetween('2015-02-01', '2015-07-30'); // => true

请注意,只有第一个(美国格式)日期字符串需要提供明确的格式字符串。

Moment 可以单独用于解析,例如。即使不使用 isBetween:

var transdate = moment('6/22/2015', 'M/D/YYYY').toDate();
var startdate = moment('2015-02-01').toDate();
var enddate = moment('2015-07-30').toDate();

transdate >= startdate && transdate <= enddate // => true

关于Javascript - 将字符串转换为日期并比较日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31256564/

相关文章:

python - 强制将 DatetimeIndex 与 Pandas 一起使用

javascript - 你能拼接对象数组中的单个对象属性吗?

javascript - jQuery UI 对话框移动我的 DOM 内容

mysql - 在 SQL 中获取每一天的数据

mysql - 按主机分组的每日最大玩家数

date - Racket:在契约(Contract)中使用的自定义谓词

javascript - 用于更改 backgroundPosition 的动态变量

javascript - 在 Javascript 中迭代对象属性的最快方法是什么?

javascript - ionic 1 : scrollable tabs (multiple tabs) and handle overflow

ios - TimeZone:获取缩写而不是 GMT 偏移量