将日期时间转换为dojo中dd-MMM-yyyy HH:MM的正确日期时间格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将日期时间转换为dojo中dd-MMM-yyyy HH:MM的正确日期时间格式相关的知识,希望对你有一定的参考价值。
我正在使用以下格式获取当前日期时间
Fri Oct 04 2019 13:48:00 GMT+0530 (India Standard Time)
但是我需要下面的格式
04-Oct-2019 19:18
我正在使用第一种格式
exports.date = function formatDate(vpDateObj) {
var vpDate = locale.parse(dateUtils.toString(vpDateObj), {
datePattern: "dd-MMM-yyyy HH:mm",
selector: "date"
});
alert(vpDate);
alert(convert(vpDate));
return vpDate ? vpDate.toString(vpDate) : " ";
};
并且我正在尝试转换为如下所示的正确格式
function convert(str) {
var date = new Date(str),
mnth = ("0" + (date.getMonth() + 1)).slice(-2),
day = ("0" + date.getDate()).slice(-2);
hours = ("0" + date.getHours()).slice(-2);
minutes = ("0" + date.getMinutes()).slice(-2);
return [date.getFullYear(), mnth, day, hours, minutes].join("-");
}
但是这里GMT+530 hours
没有及时添加。
请帮助
答案
非常确定您需要的是将语言环境日期IST
转换为GMT
(相当于UTC
),两者之间没有可量化的差异),其格式为dd-MMM-yyyy HH:MM
function dateConverter(d) {
const monthList = [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
];
/*Notice UTC methods are used to take care of 1st day of month and year*/
const yr = d.getUTCFullYear();
const mnt = monthList[d.getUTCMonth()];
const day = d.getUTCDate() < 9 ? "0" + d.getUTCDate() : d.getUTCDate();
const gmtHr = d.getUTCHours();
const gmtMin =
d.getUTCMinutes() < 9 ? "0" + d.getUTCMinutes() : d.getUTCMinutes();
return [day, mnt, yr].join("-") + " " + [gmtHr, gmtMin].join(":");
}
console.info("Formatted::", dateConverter(new Date()));
另一答案
使用locale.format,请注意idian时间比格林尼治标准时间早5h30,而不是向后退
应该减去5h30小时:
require(["dojo/date/locale"
], function(locale) {
var vpDate = new Date("Fri Oct 04 2019 15:48:00 GMT+0530 (India Standard Time)");
console.log(vpDate);
var format3 = locale.format( vpDate , {selector:"date", datePattern:"dd-MMM-yyyy HH:mm " } );
console.log("dd-MMM-yyyy HH:mm -> ",format3);
});
<link href="//ajax.googleapis.com/ajax/libs/dojo/1.10.0/dijit/themes/claro/claro.css" rel="stylesheet" />
<script>
dojoConfig = {
parseOnLoad: true,
async: true
};
</script>
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.0/dojo/dojo.js"></script>
以上是关于将日期时间转换为dojo中dd-MMM-yyyy HH:MM的正确日期时间格式的主要内容,如果未能解决你的问题,请参考以下文章
将 dd-MMM-YYYY 格式的日期转换为 JS 中的日期或 dd/mm/yyyy 格式
java - 如何在Java中使用带有@JsonFormat的'dd-MMM-yyyy'来解析日期?
如何将给定的字符串格式解析为 dd-MMM-yyyy hh:mm:ss:aa?