javascript 将 UTC 日期转换为 dd/mm/yyyy 格式

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/22688263/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-27 23:34:26  来源:igfitidea点击:

Convert UTC Date to dd/mm/yyyy Format

javascriptdate

提问by user1575795

I am having some difficulties when trying to convert UTC Date format to dd/mm/yyyy in JavaScript:

尝试在 JavaScript 中将 UTC 日期格式转换为 dd/mm/yyyy 时遇到了一些困难:

var launchDate = attributes["launch_date"];
if (isBuffering) {
         var date = new Date(launchDate);
         var d = new Date(date.toLocaleDateString());
         launchDate = ((d.getUTCMonth() + 1) + "/" + (d.getUTCDate() + 1) + "/" + (d.getUTCFullYear()));
 } 

I tried with this, but it returns me an invalid date. So I changed to this:

我试过这个,但它返回一个无效的日期。所以我改成这样:

var launchDate = attributes["launch_date"];
if (isBuffering) {
         var date = new Date(launchDate);
         var d = formatDate(new Date(date.toLocaleDateString()));
         launchDate = ((d.getUTCMonth() + 1) + "/" + (d.getUTCDate() + 1) + "/" + (d.getUTCFullYear()));
 }

However, it still returning me invalid Date. I wonder is there any possible way to change the date format of Fri May 31 2013 17:41:01 GMT+0200 (CEST) to dd/mm/yyyy?

但是,它仍然返回无效日期。我想知道有什么可能的方法可以将 2013 年 5 月 31 日星期五 17:41:01 GMT+0200 (CEST) 的日期格式更改为 dd/mm/yyyy?

Thanks in advance.

提前致谢。

回答by radia

function formatDate(d)
 {
  date = new Date(d)
  var dd = date.getDate(); 
  var mm = date.getMonth()+1;
  var yyyy = date.getFullYear(); 
  if(dd<10){dd='0'+dd} 
  if(mm<10){mm='0'+mm};
  return d = dd+'/'+mm+'/'+yyyy
}

回答by user1575795

var d = new Date();
var n = d.toLocaleDateString();

This will be more superior in build JS method!

这将在构建JS方法中更加优越!

回答by Nzall

Month is 0 indexed, but day is not. You don't need to add 1 to your day.

月是 0 索引,但日不是。您不需要为您的一天添加 1。

Also, you're formatting it for MM/dd/yyyy, not dd/MM/yyyy.

此外,您将其格式化为 MM/dd/yyyy,而不是 dd/MM/yyyy。

solution:

解决方案:

var launchDate = attributes["launch_date"];
if (isBuffering) {
         var date = new Date(launchDate);
         var d = formatDate(new Date(date.toLocaleDateString()));
         launchDate = ((d.getUTCDate())+ "/" + (d.getUTCMonth() + 1)  "/" + (d.getUTCFullYear()));
 }

回答by makino

Try it:

试试看:

Date.parseExact(Your_Date, 'dd/MM/yyyy').toString('MM/dd/yyyy');

or

或者

Date.parseExact(Your_Date, 'MM/dd/yyyy').toString('dd/MM/yyyy');