В базе данных отметка времени сохраняется как 2015-12-05 10:53:12 , но когда я выбираю запись с помощью запроса mysql, она возвращает отметку времени как 2015-12-05T10: 53 : 12.000Z . Почему? любая проблема ?? пожалуйста помоги.
3 ответа
В вашей базе данных отметка времени сохраняется в двоичном числовом формате. «2015-12-05 10:53:12» & «2015-12-05T10: 53: 12.000Z» являются строковым представлением того значения, которое вы видите в некотором приложении.
Это то же самое значение, и здесь не нужно решать проблему.
Вы можете использовать MySQL DATE_FORMAT, например.
SELECT DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y'); -> 'Sunday October 2009'
http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format
Чтобы преобразовать ваш Date-Object (который представлен как ISOString с "yyyy-MM-dd'T'HH: mm: ss.SSS'Z '"), вы должны проанализировать его после чтения из БД.
В JavaScript вы можете сделать это, просто передав строку в конструктор, например, var myDate = new Date ("2015-12-05T10: 53: 12.000Z")
С пользовательским форматом вы можете сделать это, например, так:
Var dateString = "2015-12-05 10:53:12"; var date = Date.parse (dateString, "гггг-ММ-дд ЧЧ: мм: сс");
Чтобы обозначить его как «16 декабря 2015 г.», необходимо проанализировать его позже:
Для этого есть несколько хороших библиотек (например, momentjs или с angularjs - фильтры даты)
Без этого вы должны будете сделать это вручную как-то так (где вы передаете объект даты, созданный ранее):
function parseDate(date) {
var months = ['JAN','FEB','MAR','APR','MAY','JUN',
'JUL','AUG','SEP','OCT','NOV','DEC'];
return months[date.getMonth()]+" "+("0" + date.getDate()).slice(-2)+", "+date.getUTCFullYear();
}
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.