javascript - 时刻比较
问题描述
我想限制 12:00 AM 到 6:00 AM 之间的时间,但我在 var startTimeGraveyard 和 var timeGraveyard 行上收到错误“Invalid Date”
var startTimeGraveyard = moment("12:00 AM").format('LT');
var timeGraveyard = moment("6:00 AM").format('LT');
if (time >= startTimeGraveyard && time <= timeGraveyard) {
$('#lblGraveyard').text("Graveyard Schedule");
}
解决方案
尝试这个:
var startTimeGraveyard = moment("12:00 AM", "LT");
var timeGraveyard = moment("6:00 AM", "LT");
if (time.isBetween(startTimeGraveyard, timeGraveyard)) {
$('#lblGraveyard').text("Graveyard Schedule");
}
假设那time
也是一个时刻对象。
这是有效的,因为.format(<format>)
用于从矩对象生成字符串。为了从字符串初始化矩对象,您必须将格式作为第二个参数传递给moment()
函数。
console.log(moment('1:00 PM', 'LT').format('HH:mm:ss'))
将正确初始化 moment 对象,但由于格式的原因,最终会将 13:00:00 输出到控制台。
推荐阅读
- javascript - 尝试用作背景样式时,图像 URL 不起作用
- xcode - 如何使用 Xcode 构建与旧 MacOS 兼容的应用程序?
- git - -m 在 git remote add 中有什么作用
- python - Pygame鼠标点击检测移动精灵
- laravel - Laravel 5.6 DB::RAW 计数()
- c++ - 拆分 C++ 嵌套模板
- python-3.x - Kivy 在增加窗口大小时冻结
- java - 使用 log4j 记录 springboot 应用程序
- r - `gganimate` fps 与指定的不一样
- c++ - CLion Cygwin(32 位)版本 2.11.2 GDB 调试错误 0xc0000135