如何转换日期时间格式?

时间:2015-09-16 14:02:28

标签: javascript mysql node.js sails.js jquery-jtable

我正在使用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'},

2 个答案:

答案 0 :(得分:2)

这是一个简单的解决方法,只使用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")

答案 1 :(得分:0)

示例代码:

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

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

  

displayFormat:&#39;%d-%m-%Y%h:%i:%s%p&#39;