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
Convert UTC Date to dd/mm/yyyy Format
提问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');