javascript - 获取 HH :MM:SS time string in javascript 的一种黑客方法

标签 javascript datetime

我在 js 中执行以下操作来获取时间字符串:

(new Date()).toTimeString().substring(0, 8)

我所需要的只是这个字符串(绝对不需要像 moment.js 这样的东西)。当谷歌搜索时没有看到有人这样做。我在这里所做的事情是否有任何严重的缺点\可能的问题?

最佳答案

toTimeString method的返回值在 ECMAScript 5 中指定:

The contents of the String are implementation-dependent, but are intended to represent the “time” portion of the Date in the current time zone in a convenient, human-readable form.

浏览器或环境可能会合法地生成一种会破坏您的方法的格式,因为 toTimeString 的结果完全依赖于实现。例如,不使用前导零,或省略秒,或使用 AM/PM 代替 24 小时时间等。

我不知道是否所有环境都使用相同的格式,但我假设大多数环境都选择 ISO 8601 格式,因为还有其他指定的函数(例如 toISOString)无论如何都需要 ISO 格式。就错误责任而言,在极少数情况下,出现某些环境不适用于您的代码时,我会说您的代码将因依赖非标准行为而出现错误。

相比之下,toISOstring的返回值为standardized as YYYY-MM-DDTHH:mm:ss.sssZ (这始终是文字 T,如果是 UTC,则为文字 Z),但它可能对您没有帮助,因为它始终使用 UTC 时区,而不是本地环境时间。

关于javascript - 获取 HH :MM:SS time string in javascript 的一种黑客方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26238738/

相关文章:

javascript - 我不知道 Object(this) 是什么意思

Javascript - 如何计算两个给定时间之间的差异? (小时-分钟)

c# - 从 Epoch C# 开始的天数中获取日期字符串

sql - 在 PostgreSQL 中按时间段聚合事件记录

javascript - 在几分钟内得到两个日期之间的差异

javascript - jquery-mobile css 不适用于使用 javascript 生成的 html

javascript - 如果前四个字符是数字,则在字符串中插入字符

javascript - jQuery 通过其中包含多个标识符的数据属性选择 DOM 元素

javascript - 如何在 mongoose findOne 查询中进行逻辑 AND ?

c# - unity c# 将日期字符串转换为所需日期时间格式的日期时间对象