gpt4 book ai didi

javascript - 在 iOS 设备上比较日期的问题

转载 作者:行者123 更新时间:2023-12-01 16:01:01 31 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Compare two dates with JavaScript

(42 个回答)


1年前关闭。




我正在尝试比较两个日期,它们在除 iPhone 之外的所有设备上都能正常工作。它在 iPhone 上发出错误警报。
jsfiddle

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 中的日期和时间之间使用空格例如,您偏离了规范。这意味着实现可以使用本地时间或 UTC,或者拒绝完全解析它。
使用the date time format in the specification这基本上就是您所拥有的,但带有 T代替空格,或使用多参数 Date构造函数(本地时间),或 Date.UTC (将结果传递给 Date 构造函数)用于 UTC。如果在理想情况下解析字符串总是指定 Z对于 UTC 或时区偏移量。仅日期形式 ( "2020-08-19" ) 以 UTC 解析,但日期时间形式 ( "2020-08-19T00:00:00" ) 以本地时间解析 - 但是 ,在 2015-2017 年间发生了不止一次的变化,因此依赖它有点冒险。
在您的情况下,由于您已经将信息作为单独的变量,我肯定会使用 new Date 的多参数版本或 Date.UTC + new Date (取决于您想要本地还是 UTC)。

关于javascript - 在 iOS 设备上比较日期的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63489967/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com