- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下输入字段:在我的网络应用程序中,我有 -
字符串日期 - 06/05/2018
还有这个 JS 代码:
var d = "06/05/2018".split("/");
var date = new Date(d[2] + "-" + d[1] + "/" + d[0]).getTime();
console.log(date)
这将返回 1525561200000
如果我将其放入 epoch converter给我...
2018 年 5 月 5 日星期六晚上 11:00:00
这会搞砸我的过滤系统 - 日期范围,因为如果我在输入字段中选择最小日期为 06/05/2018
:
var d = $('#min').val()
var date = new Date(d).getTime();
console.log(date)
返回 1525564800000
到 2018 年 5 月 6 日星期日 12:00:00 AM
我该如何解决这个问题?
谢谢
最佳答案
我可以写一整篇论文来说明在 Javascript 中处理日期有多么困难和困难,以及如何避免陷阱和奇怪的错误,但最终你的具体问题归结为一个简单的错字。
您手动解析并传递给 Date
构造函数的字符串如下所示:
2018-05/06
在连接字符串时,您错误地使用了 /
而不是 -
作为第二个分隔符。出于某种原因,浏览器随后将日期对象创建为 2018-05-06 午夜 本地时间。当以标准格式传递字符串时(这是从日期输入中获取字符串时发生的情况),即 2018-05-06
,日期对象创建为 midnight 2018-05 -06 UTC 时间。
因此,简而言之,您的问题可以通过在字符串连接中将 "/"
替换为 "-"
来解决,并且两个日期应该相同。
但是,我应该指出,将字符串传递给 Date
构造函数是不可靠的,因为结果不是标准化的,并且可能因浏览器而异(这也是为什么它的行为如此不可预测且看似不合逻辑的原因这个案例)。传递数字是更好的主意,因为规范规定了结果。您已经完成了一半,因为您已将日期字符串拆分为其组件。试试这个:
var date = new Date(
Number(d[2]),
Number(d[1]) - 1, // Subtracting 1 from month since it's base 0
Number(d[0])
).getTime();
(从技术上讲,我们甚至不需要显式转换为 Number
,因为 Date
构造函数期望当有多个参数时所有参数都是数字并将在内部将其转换为数字)
关于JavaScript 获取前一天晚上 11 点的日期字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50213423/
这是我的数据框,我需要根据行值(早上、下午、晚上、晚上)的时间创建一个新列 这是我的代码 if ((prods['hour'] 8 )): prods['session'] = 'Early
我在时间数据框中有这个向量,格式为小时:分钟,我想将其转换为一天中的分类时间: time <- c("15:03", "08:01", "11:59", "23:47", "14:20")
我每天都有很多事件。有没有办法将这些事件按水平移动类别分开?我可以添加一个额外的标志(或类即:早上、白天、晚上、晚上)以及“标题:”和“开始:”,以便事件将在同一天内按各自的水平移动进行组织吗?我用过
IOS 应用程序以登录名称显示早上/下午/晚上。例如:像这样的早安 X 先生。 需要从当前日期和时区计算那些事件 最佳答案 // For calculating the current date NS
我有一个像这样的Hive表: create table my_table ( my_timestamp String ) my_timestamp的格式为YYYY-MM-DD HH:MM:SS。我需要
我想每隔几个小时在 Erlang 服务器上运行一个小型清理过程。 我知道计时器模块。我在教程中看到一个示例,使用链式计时器: sleep 命令来等待几天后发生的事件,我觉得这很奇怪。我知道 Erlan
我正在尝试编写一个 HTML 文档,向访问者显示问候语,例如“早上好/下午/晚上好!”但我不知道如何同时使用小时和分钟: ITP1 var myDate = ne
我有一个 iOS 应用程序。该应用程序的其中一个部分显示了特定位置的简单小天气预报。作为此预测的一部分,该应用程序还显示了一些图像。这些图像要么是基于白天的,在这种情况下它们将具有“太阳”图像,要么基
我想做什么:: 显示消息基于 早上好(12am-12pm) 中午后好(中午 12 点 - 下午 4 点) 晚上好(下午 4 点至晚上 9 点) 晚安(晚上 9 点到早上 6 点) 代码:: 我使用 2
我尝试在 android 中检测早上、晚上、晚上的时间。因为我想在天黑的时候开灯。如果外面是晴天就关灯。 我可以定义晚上或早上的时间范围。例如早上 6 点到晚上 7 点是明亮的。但这在每个国家、每个季
我有一项服务可以每天监控位置变化。到目前为止我所知道的start a service at boot ,我必须遵循链接的教程。这样我就可以在启动时启动服务,但为了节省电量,我只需要在上午 9 点到晚上
执行简单的返回函数来检查时间是否在晚上 11 点到早上 7 点之间的最佳方法是什么? 有这样的想法,但问题是 1am 会是 1 并且不会大于 23,但 23(晚上 11 点)会大于 23。 retur
我正在尝试找到一种方法来获取一天中的时间。显然有一种简单的方法可以做到这一点 Application to Display Morning,Evening如果您对一种语言的静态词没问题。有没有办法根据
现在是下午 4:11,但我的输出显示为“早上好” - 为什么会发生这种情况? $(document).ready(function() { function dateTime() { va
$start = '22:00:00'; $end = '08:00:00'; $now = Carbon::now('UTC'); 如何检查 $now 的时间是否在时间范围内? 最佳答案 通过使用
我想在 Jenkins 中安排一个工作,在晚上 18 点到凌晨 2 点之间的某个时间运行。 所以我在Build periodically/Schedule 字段中输入了以下公式: H H(18-2)
我需要Java @Scheduled注释来运行一个调度程序,该调度程序应该在上午 9.30 开始并且>每 15 分钟运行一次(即上午 9.30、上午 9.45、上午 10.00、上午 10.15...
我是一名优秀的程序员,十分优秀!