Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在dojo中将日期时间转换为dd-MMM-yyy-HH:MM的正确日期时间格式_Javascript_Node.js_Dojo - Fatal编程技术网

Javascript 在dojo中将日期时间转换为dd-MMM-yyy-HH:MM的正确日期时间格式

Javascript 在dojo中将日期时间转换为dd-MMM-yyy-HH:MM的正确日期时间格式,javascript,node.js,dojo,Javascript,Node.js,Dojo,我正在以下面的格式获取我当前的日期和时间 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-

我正在以下面的格式获取我当前的日期和时间

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("-");
}
但在这里,格林尼治标准时间+530小时并没有及时增加


请帮助

非常确定您需要的是将区域设置日期列表转换为等同于UTC的GMT。两者之间没有可量化的差异,格式为dd-MMM-yyy-HH:MM

函数dateConverterd{ 常量月列表=[ 简, 2月, 破坏 四月,, 也许 六月,, 7月, 八月, 九月, 十月, 十一月, 12月 ]; /*请注意,UTC方法用于处理月份和年份的第一天*/ const yr=d.getUTCFullYear; const mnt=月列表[d.getUTCMonth]; const day=d.getUTCDate<9?0+d.getUTCDate:d.getUTCDate; 常数gmtHr=d.getUTCHours; 常数gmtMin= d、 getUTCMinutes<9±0+d.getUTCMinutes:d.getUTCMinutes; 返回[day,mnt,yr]。加入-+[gmtHr,gmtMin]。加入:; } const result=dateConverternew Date; //alertFormatted::+结果;
console.infoFormatted:,结果 使用locale.format,请注意idian时间比GMT早5h30,而不是向后

应减去5h30小时:

需要[dojo/date/locale] ],functionlocale{ var vpDate=新日期2019年10月4日星期五15:48:00 GMT+0530印度标准时间; console.logvpDate; var format3=locale.format vpDate,{selector:date,datePattern:dd-MMM-yyyy-HH:mm}; console.logdd-MMM-yyyy HH:mm->,格式3; }; dojoConfig={ parseOnLoad:true, 异步:true };
为什么要加GMT 5:30而不是减法,IST比GMT早5小时30分钟,而不是落后。我遇到了一个错误,比如当前java脚本不支持常量定义version@SUDARSHAN试着用var来改变常量。我猜这是因为dojo@SUDARSHAN如何在警报中打印它?我已经用alert更新了上面的答案,但是评论说,它会打印格式化的日期和时间。用var更改const有效吗?不,无效。我已经更改了实现本身,但在某一点上又卡住了。创建了另一个问题@SUDARSHAN好的!真奇怪。不知道为什么它不起作用,尽管你改变了实现,但它按照问题中的要求做了。