在JS中将以下日期格式化为YYYY-mm-dd

2023-12-31

我将如何转换以下日期:

2016 年 2 月 18 日星期四 12:25:00 SGT

转换成“2016-02-18”这样的格式?

I know,

  1. 通过调用使用 new Date(Date.parse('...')) 可以帮助我得到它。但问题是时区部分(SGT)。
  2. 我不想使用任何图书馆。

解决这个问题的有效方法是什么?

任何帮助表示赞赏!

PS:

好的,我已经尝试过

new Date(Date.parse('Thu Feb 18 12:25:00 SGT 2016'))

但当然,这会给我带来“无效日期”错误。


我想我应该等你发布一些代码,但这里有一个例子。它将字符串拆分为多个部分,将月份名称转换为数字,然后按照所需的顺序输出所需的位。月份名称上的切片只是为了防止您想使用完整的月份名称,但也许这是不必要的:

function reformatDate(s){
  var b = s.split(/[\s:]/);
  var months = {jan:'01',feb:'02',mar:'03',apr:'04',may:'05',jun:'06',
                jul:'07',aug:'08',sep:'09',oct:'10',nov:'11',dec:'12'};
  return b[7] + '/' + months[b[1].toLowerCase().slice(0,3)] + '/' + ('0'+b[2]).slice(-2);
}

document.write(reformatDate('Thu Feb 18 12:25:00 SGT 2016'));

该格式日期字符串(y/m/d)与我所知道的任何标准都不一致,并且大多数浏览器可能不会解析。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在JS中将以下日期格式化为YYYY-mm-dd 的相关文章

随机推荐