问题标签 [datetime-comparison]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 我如何比较java中的两个小时?
我想计算餐厅的营业时间。我有两个字符串,例如:
例如当前时间:
但我有一些问题。当 start_hour 为 "13:00" 和 end_hour "05:00" 时,此方法工作错误。因为从第二天 05:00 开始。我怎么解决这个问题?
android - 今天在 Android 中比较日期和时间
我想比较 dateTime_form_api 和 dateTime_from_system
如果 dateTime_form_api 之后的 dateTime_from_system 显示“下次”
如果 dateTime_form_api 之前的 dateTime_from_system 显示“上次”
但如果 dateTime_form_api 的日期等于 dateTime_from_system 的日期
只有时间需要比较,时间是比较的,在Android中怎么办?
java - 如何在java中比较格式“EEE MMM dd HH:mm:ss zzz yyyy”和“yyyy-MM-dd hh:mm:sss”的日期时间?
我的日期类型为“EEE MM DD HH:mm:ss zzz yyyy”(2020 年 3 月 4 日星期三 03:34:45 GMT+08:00 2020)和“yyyy-MM-dd hh:mm:ss”(2020-02 -04 02:10:58)。如何在 java 中比较这两个日期?
两个日期都在同一时区。
excel - Excel 单元格公式:比较计算的时间值与手动输入的时间值的间歇性错误
注意:我已经通过 StackOverflow 上列出的几种不同方法多次验证这些单元格包含值而不是文本!
我正在尝试编写一个调度工作簿,它可以告诉我我目前的人员配备是否足够。有一张日程表,其中包含每个工作人员的打卡时间、第一次休息时间、第一次休息时间、午餐时间、午餐时间、第二次休息时间、第二次休息时间和打卡时间,以及那八 (8) 列重复七次 (x7) 以计算一周中的每一天。还有另一个“分析”电子表格,从周一上午 6:30 - 上午 6:45 到周日下午 5:45 - 下午 6:00,每行增加 15 分钟。
在分析表上,我尝试使用不同的公式将块开始和块结束时间增加 15 分钟,然后填写这 7 天内的每个块。假设我在单元格 B2 中手动输入上午 6:30,我记得尝试过的公式如下:
=B2+(15/60/24)
=TRUNC(B2+TIME(0,15,0),12)
当我尝试比较员工的预定开始时间是否大于或等于区块的开始时间,以及当我尝试比较员工的预定结束时间是否大于或等于区块的结束时,问题变得特别痛苦时间。我相信这是由于计算时间的序列值与手动输入的计划时间的序列值之间存在微小的毫秒差异。但是,我们的目标是通过 =COUNTIFS() 公式运行计划,以确定在该块的时间内出现的员工总数。到目前为止,我提出的公式看起来像这样(请忽略列引用,因为我将它复制到几列以便能够在第一列中尝试其他一些方法):
=COUNTIFS(OFFSET('Front Desk'!$B$5:$B$24,0,(MATCH(A2,'Front Desk'!$B$3:$BE$3,0)-1)),"<>",OFFSET('Front Desk'!$B$5:$B$24,0,(MATCH(A2,'Front Desk'!$B$3:$BE$3,0)-1)),"<="&'Front Desk Analysis'!H2,OFFSET('Front Desk'!$C$5:$C$24,0,(MATCH(A2,'Front Desk'!$B$3:$BE$3,0)-1)),"<>",OFFSET('Front Desk'!$C$5:$C$24,0,(MATCH(A2,'Front Desk'!$B$3:$BE$3,0)-1)),">="&'Front Desk Analysis'!L2)+COUNTIFS(OFFSET('Front Desk'!$D$5:$D$24,0,(MATCH(A2,'Front Desk'!$B$3:$BE$3,0)-1)),"<>",OFFSET('Front Desk'!$D$5:$D$24,0,(MATCH(A2,'Front Desk'!$B$3:$BE$3,0)-1)),"<="&'Front Desk Analysis'!H2,OFFSET('Front Desk'!$E$5:$E$24,0,(MATCH(A2,'Front Desk'!$B$3:$BE$3,0)-1)),"<>",OFFSET('Front Desk'!$E$5:$E$24,0,(MATCH(A2,'Front Desk'!$B$3:$BE$3,0)-1)),">="&'Front Desk Analysis'!L2)+COUNTIFS(OFFSET('Front Desk'!$F$5:$F$24,0,(MATCH(A2,'Front Desk'!$B$3:$BE$3,0)-1)),"<>",OFFSET('Front Desk'!$F$5:$F$24,0,(MATCH(A2,'Front Desk'!$B$3:$BE$3,0)-1)),"<="&'Front Desk Analysis'!H2,OFFSET('Front Desk'!$G$5:$G$24,0,(MATCH(A2,'Front Desk'!$B$3:$BE$3,0)-1)),"<>",OFFSET('Front Desk'!$G$5:$G$24,0,(MATCH(A2,'Front Desk'!$B$3:$BE$3,0)-1)),">="&'Front Desk Analysis'!L2)
请容忍我的长度和一些重复性,因为我试图解释四个时间间隔中的任何一个(打卡 - 第一次休息,第一次休息 - 午餐休息,午餐 - 第二次休息,和第二次休息 - 时钟出去)。我认为有必要披露函数的长度,并且它会变得更长,因为我需要考虑到一些员工可能会或可能不会在他们的一整天中休息和/或午餐(想象一下有一个短 2 到 4 小时轮班的人只会打卡一次)。如果我开始在那里添加一大堆复杂的嵌套 ROUND() 函数,我担心会达到函数限制。
如果我必须总结这个问题,我想我有四个问题:
- 为什么上午 9:30 和上午 10:30 的序列表示中的第 15 位十进制数字与手动输入时间的序列值相差一 (1),但两者之间差异的十进制扩展却没有?(0.395833333333334000000 - 0.395833333333333000000 = 0.000000000000000000000)
- 既然两个值之间的差值显然为零,那么为什么比较结果为假呢?
- 如果您要提出这是一个浮点计算问题的论点,那么为什么不会有更少的 TRUE 比较(因为每个计算值都是根据前一个值计算的,并与所有后续值的差异复合)这导致异常而不是规范?
- 与最后三个主题稍有不同,但这种方法是否类似于您用来解决整体调度问题的方法,或者您会建议什么来解决问题?
我对每个问题的答案同样感兴趣,因此请随时回复其中一个或全部(请在您的回复中注明相关问题#)。谢谢大家!
编辑:我是新来的关于堆栈溢出的问题,但我相信如果您遵循以下步骤,可以创建一个最小的可重现示例:
- 在单元格 B2 中键入“6:30 AM”+ Enter 键。
- 在单元格 B3 中键入“=B2+(15/60/24)”+ Enter 键。
- 单击格式刷按钮,然后单击单元格 B2,然后单击单元格 B3(如果正确执行步骤 1,则将公式单元格格式化为时间,否则从格式下拉菜单中单击常规,然后单击时间)。
- 选择单元格 B3,然后向下拖动,直到公式等于上午 9:30 或更大。
- 在与 B 列单元格相邻的 C 列单元格中键入“9:30 AM”+ Enter 键,该单元格也包含值“9:30 AM”+ Enter 键(我相信应该是第 14 行)。
- 在与这些单元格右侧相邻的 D 列单元格中,键入以下公式:
=B14=C14
+ Enter 键,您应该得到一个FALSE
评估。
c# - 如何比较 Windows 的变量和日期和小时的日期和小时?
我做了这个代码:
我需要获取 txt 文件的最后一行和第一列。
txt 文件是这样的:
我只需要21/05/2020 17:05:00
. 如您所见,我已经完成了这部分。
现在我有了dateString
包含我的 txt 文件的日期和小时的变量,我需要将它与 Windows 的日期和小时进行比较。如您所见,我尝试了它,但它只比较日期而不是小时。
如何将我的 txt 文件的日期和小时与 Windows 的日期和小时进行比较?代码应该如何?如果不考虑毫秒,对我来说会更好。
java - 比较java中时间字符串的格式
我有两个可以采用任何格式的时间字符串(12 小时或 24 小时,有或没有时区)。我如何比较它们在 java 中的格式是否不同以及是否存在数据不匹配?
PS> 我已经准备了一个正则表达式列表和与这些表达式匹配的字符串以获得格式,然后使用字符串的 equals() 方法检查数据差异。这种方法的问题是 (20:01:02,20 01 01) 返回格式差异,而预期结果应该是数据差异。请帮忙,我卡在这里很长时间了。
正则表达式的映射-
检查字符串格式的函数-
python - 比较和减去日期
我正在寻找一种方法来确定列中的时间是否在同一列中另一个日期的 7 天内。
说这是我的数据框-
带输出-
然后我对数据进行排序 -
要得到-
假设我想按当前顺序(索引 8,然后是 7、6、12 等)知道某个日期是否在另一个日期的 7 天内。(所以索引 8 和 7 都会产生 true 但索引 6 不会)
但我也想按名称分组。(所以指数 12 和 14 在 Jim Miller 组中为真,而 13 在 Jim Miller 组中不成立,但在 Steve Johnson 组中指数 9、11 和 10 都为真)
有没有办法减去每个组中的日期,然后创建一个列来表示 TRUE 或 FALSE,这取决于它是否在另一天的 7 天内?
我正在寻找这样的输出-
javascript - 比较日期数组以在 java-script 中以简单的方式检查日期重叠
我想检查我的日期数组中发生的任何日期冲突。我有一个这样的数组。
单个数组中的第一个日期分别是开始日期和结束日期。我想在这里检查的是,第一个数组日期与数组中的以下日期冲突。这样我就可以根据日期分配一个人。一个人可以分配一个日期时间。那么有人知道解决这个问题的完美 ES6 方法吗?
java - 将日期和时间范围与 Java 进行比较
我有这个输入:
这是需要比较的日期和时间
如果availability
事实上包含查询中的时间所在的DAY,那么比较的最佳方法是什么02:39:00
。
因此,它可以用 Java 形式表示:
boolean isOpen = checkIfOpen("MONDAY", "02:39:00", availabilityJSONObject);
在这种情况下, 的值isOpen
将是真实的。
excel - PowerQuery 的日计算未正确转换为 Excel 表
我正在使用 PowerQuery 创建某个日期持续时间列。我有以下 xlsx 表:
日期时间1:=A2+B2
日期时间2=D2+E2
日期差异=F2-C2
现在我想用 PowerQuery 转换 G 列“DateDiff”。我选择范围 A 到 G 并单击Data
=>From Table/Rage
我被问到数据在哪里,我使用预填充的条目,然后单击确定。PowerQuery 打开:
我选择列 DateDiff 并右键单击并复制此列。此列的副本出现,我选择它。在数据类型(当前显示十进制)上,我选择“持续时间”。值已转换,我可以看到以下内容:
这正如预期的那样。所以首先是天,例如 32 天或 1 天或 33 天,然后是小时、分钟和秒(以及秒中的一些舍入/计算差异,但这可以忽略)。
我点击关闭并加载。
该表添加如下:
值已更改。现在 H 列不再显示 32,33 和 1 天。这些值错误地显示为 1.07...、2.08...
我不明白为什么会这样?我怎样才能在这里得到正确的结果?
当我将格式更改为标准时,我再次得到正确的数字。所以数字没有改变。当我尝试应用自定义格式时,例如: T.hh:mm:ss 显示相同的错误数字。导致相同的问题。