javascript - 在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(":");
}
const result = dateConverter(new Date());
//alert("Formatted::" + result);
console.info("Formatted::", result);
推荐阅读
- swift - Swift 5 URLSession 下载 PDF 不起作用
- r - 如何在 R 中的 Flexdashboards 中制作动态 valueBox
- python - 使用包含重复项的索引重塑数据框
- inheritance - TypeORM 混凝土表和与其他表的关系
- ios - Callkit CXHandle .generic 类型问题
- firefox - 使用 Media Recorder 录制的视频无法在 Firefox 中播放
- quarkus - Quarkus 中的配置 Bean
- gtk - 滚动窗口内的 GTK3 覆盖
- python - CIDR 重叠不可能的结果 Python
- php - 使用简码的 Woocommerce 类别描述