在 iOS 台设备上比较日期的问题
issue comparing dates on iOS devices
我正在尝试比较在每个设备上都能正常工作的两个日期,除了 iPhone.Its 在 iPhone 上发出错误警报。
function play_time() {
var crntTime;
var today = new Date();
var formattedTime = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
var dd = today.getDate();
var mm = today.getMonth() + 1;
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd;
}
if (mm < 10) {
mm = '0' + mm;
}
today = yyyy + '-' + mm + '-' + dd;
var crntDatetime = `${today} ${formattedTime}`;
crntTime = new Date(crntDatetime).getTime();
var check = '2020-08-18 23:14:07';
var gameTime = new Date(check).getTime();
if (crntTime <= gameTime) {
alert('Play');
} else {
alert('Later');
}
}
<button onClick="play_time();"> show Time </button>
通过在 check
示例中的日期和时间之间使用 space,您超出了规范。这意味着实现可以使用本地时间或 UTC,或者拒绝完全解析它。
使用 the date time format in the specification,这基本上是你所拥有的,但使用 T
而不是 space,或者使用 multi-argument Date
构造函数(对于本地时间)或 Date.UTC
(将结果传递给 Date
构造函数)用于 UTC。如果理想地解析字符串,请始终为 UTC 或时区偏移量指定 Z
。 Date-only 表单 ("2020-08-19"
) 以 UTC 解析,但 date-time 表单 ("2020-08-19T00:00:00"
) 以本地时间解析 - 但 ,即在 2015-2017 年间改变了不止一次,所以依赖它有点冒险。
在您的情况下,由于您已经将信息作为单独的变量,我肯定会使用 new Date
或 Date.UTC
+new Date
的 multi-argument 版本(取决于关于您想要本地还是 UTC)。
我正在尝试比较在每个设备上都能正常工作的两个日期,除了 iPhone.Its 在 iPhone 上发出错误警报。
function play_time() {
var crntTime;
var today = new Date();
var formattedTime = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
var dd = today.getDate();
var mm = today.getMonth() + 1;
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd;
}
if (mm < 10) {
mm = '0' + mm;
}
today = yyyy + '-' + mm + '-' + dd;
var crntDatetime = `${today} ${formattedTime}`;
crntTime = new Date(crntDatetime).getTime();
var check = '2020-08-18 23:14:07';
var gameTime = new Date(check).getTime();
if (crntTime <= gameTime) {
alert('Play');
} else {
alert('Later');
}
}
<button onClick="play_time();"> show Time </button>
通过在 check
示例中的日期和时间之间使用 space,您超出了规范。这意味着实现可以使用本地时间或 UTC,或者拒绝完全解析它。
使用 the date time format in the specification,这基本上是你所拥有的,但使用 T
而不是 space,或者使用 multi-argument Date
构造函数(对于本地时间)或 Date.UTC
(将结果传递给 Date
构造函数)用于 UTC。如果理想地解析字符串,请始终为 UTC 或时区偏移量指定 Z
。 Date-only 表单 ("2020-08-19"
) 以 UTC 解析,但 date-time 表单 ("2020-08-19T00:00:00"
) 以本地时间解析 - 但 ,即在 2015-2017 年间改变了不止一次,所以依赖它有点冒险。
在您的情况下,由于您已经将信息作为单独的变量,我肯定会使用 new Date
或 Date.UTC
+new Date
的 multi-argument 版本(取决于关于您想要本地还是 UTC)。