从 Date() 对象返回 dd-mm-yyyy

新手上路,请多包涵

所需的返回值应该是格式为 dd-mm-yyyy 的字符串。

我试图给 ISOString 一个格式日期 dd-mm-yyyy 并添加 GMT 但代码给了我这种格式。我能怎么做?

 new Date().toISOString()
    .replace(/T/, ' ').      // replace T with a space
    .replace(/\..+/, '');     // delete the dot and everything after

‘2012-11-04 14:55:45’

原文由 J.arc 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 319
2 个回答

我正在寻找 04-11-2012 日期格式

使用今天的日期(作为 ISO 字符串当前为“2016-03-08T13:51:13.382Z”),您可以这样做:

 new Date().toISOString().replace(/T.*/,'').split('-').reverse().join('-')

其输出是:

 -> "08-03-2016"

这个:

  1. 抓住日期。
  2. 将其转换为 ISO 字符串。
  3. 替换“T”及其后的所有内容。
  4. 通过拆分任何连字符 (‘-’) 字符将其转换为数组。 ( ["2016", "03", "08"]
  5. 反转数组的顺序。 ( ["08", "03", "2016"] )
  6. 将数组作为字符串重新加入,用连字符分隔每个值。

这是一个使用您的日期 (2012-11-04T14:55:45.000Z) 作为输入的演示:

 var input = "2012-11-04T14:55:45.000Z",
    output;

output = new Date(input).toISOString().replace(/T.*/,'').split('-').reverse().join('-');

document.getElementById('input').innerHTML = input;
document.getElementById('output').innerHTML = output;
 <p><strong>Input:</strong> <span id=input></span></p>
<p><strong>Output:</strong> <span id=output></span></p>

原文由 James Donnelly 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于您的示例“2012-11-04 14:55:45”

您可以在一行中执行: new Date('2012-11-04 14:55:45').toISOString().split('T')[0] :)

原文由 Filipe Andrade 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题