【问题标题】:How not to show seconds with toLocaleString如何不使用 toLocaleString 显示秒数
【发布时间】:2017-11-29 08:38:02
【问题描述】:

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString 说:

第二 第二个的代表。可能的值为“数字”、“2 位”。

“数字”和“2 位”有什么区别?我用什么来几秒钟什么都不显示?我省略了second 选项,它仍然出现。

【问题讨论】:

    标签: javascript globalization


    【解决方案1】:

    2-digit 是 0 填充,而 numeric 不是。不指定秒数(未定义)是您省略它们的方式。但是,您确实需要指定小时和秒。比如:

    var date = new Date();
    var options = { hour: 'numeric', minute: '2-digit' };
    console.log(date.toLocaleString('en-US', options));
    

    【讨论】:

    • 我的问题是我遗漏了第一个参数,认为它会使用默认值。但是,如果要使用第二个(选项),则第一个参数是强制性的。要使用默认语言环境而不是硬编码,我需要将undefined 指定为第一个参数。如果没有第一个参数,即使提供了选项(作为唯一参数),也会忽略选项。
    • 这不好,我希望所有格式都删除它,而不仅仅是 en-us
    【解决方案2】:

    This manual helped me understanding the date system hope it helps you too

    Microsoft Office Excel 将日期存储为被调用的序号 序列值。例如,在 Microsoft Office Excel for Windows 中, 1900 年 1 月 1 日为序列号 1,2008 年 1 月 1 日为序列号 编号 39448,因为它是 1900 年 1 月 1 日之后的 39,448 天。办公室 Excel 将时间存储为小数,因为时间被视为 一天的一部分。十进制数是介于 0(零)之间的值 到 0.99999999,表示从 0:00:00 (12:00:00 A.M.) 到 23:59:59(晚上 11:59:59)。

    因为日期和时间是值,所以它们可以相加、相减和 包括在其他计算中。您可以将日期视为序列值 并通过更改单元格的格式将时间作为小数 包含通用格式的日期或时间。

    另一个将是: Mysql based interpretation

    两位数年份的日期值不明确,因为世纪未知。这样的值必须解释为四位数的形式,因为 MySQL 在内部使用四位数存储年份。

    对于 DATETIME、DATE 和 TIMESTAMP 类型,MySQL 解释日期 使用这些规则用不明确的年份值指定:

    00-69 范围内的年份值将转换为 2000-2069。

    70-99 范围内的年份值将转换为 1970-1999。

    对于 YEAR,规则相同,但有以下例外:数字 00 插入 YEAR(4) 的结果是 0000 而不是 2000。要指定 YEAR(4) 为零并将其解释为 2000,将其指定为 字符串“0”或“00”。

    我在这里使用了其他文档作为参考,因为有基础 同样希望他们也能帮助你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      相关资源
      最近更新 更多