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