如何转换以下格式的日期时间?

How to convert datetime following format?

我正在使用 sailsjs(node.js),我已经从 mysql 数据库中获取所有数据并在 jtable 中显示数据,但日期格式如下所示: YYYY-MM-DDTHH:mm:ss.000Z

我需要将此 (YYYY-MM-DDTHH:mm:ss.000Z) 格式转换为 `14-08-2015 04:36:04 PM

在 jtable 中,我使用了以下格式但不起作用。

UpdatedDate: {
  edit: false,
  create: false,
  type: 'datewithtime',
  displayFormat: 'dd-mm-yy',
  Weightage: 2,
  tooltip: 'Date Modified',
  title: 'Date Modified'
  /*display: function (data) {
   return moment(data).format('YYYY-MM-DDTHH:mm:ss');
   // return data.format("dd-m-yy");
   }*/
}

in model 
  CreatedDate : { type: 'DATETIME'},

示例代码:

SELECT DATE_FORMAT('2007-10-04 22:23:00', '%d-%m-%Y %h:%i:%s %p')

从 table 中选择数据时进行以下更改:

displayFormat: '%d-%m-%Y %h:%i:%s %p'

这是一个仅使用 javascript 的简单解决方法。这可能不是最好的方法,但它简单且有效。

var date = new Date("1994-11-05T08:15:30-05:00");//this is the format you have
date.toLocaleDateString().split('/').join('-')+" "+date.toLocaleTimeString() //this converts it to necessary format
OUTPUT: "11-5-1994 6:45:30 PM"

编辑:抱歉,我猜它根据您的系统区域设置转换了日期。好的,原始修复如下 ::

var date = new Date("1994-11-05T08:15:30-05:00");//this is the format you have")
var datePart = date.getDate()+"-"+date.getMonth()+"-"+date.getFullYear();
function formatAMPM(date) { 

var hours = date.getHours();
  var minutes = date.getMinutes();
  var secs = date.getSeconds();
  var ampm = hours >= 12 ? 'PM' : 'AM';
  hours = hours % 12;
  hours = hours ? hours : 12; // the hour '0' should be '12'
  minutes = minutes < 10 ? '0'+minutes : minutes;
  var strTime = hours + ':' + minutes +':'+secs+ ' ' + ampm;
  return strTime;
}
var timePart = formatAMPM(date);
console.log(datePart+" "+timePart);

好的,这次每个字段都是单独提取的,而不是使用任何现有格式,所以这肯定会起作用。或者,如果您愿意使用外部库,这里是另一种使用 moment.js

的解决方案
moment(date).format("DD-MM-YYYY hh:mm:ss A")