В базе данных отметка времени сохраняется как 2015-12-05 10:53:12 , но когда я выбираю запись с помощью запроса mysql, она возвращает отметку времени как 2015-12-05T10: 53 : 12.000Z . Почему? любая проблема ?? пожалуйста помоги.

0
iam 16 Дек 2015 в 09:48

3 ответа

Лучший ответ

В вашей базе данных отметка времени сохраняется в двоичном числовом формате. «2015-12-05 10:53:12» & «2015-12-05T10: 53: 12.000Z» являются строковым представлением того значения, которое вы видите в некотором приложении.

Это то же самое значение, и здесь не нужно решать проблему.

2
Amit 16 Дек 2015 в 06:51

Вы можете использовать 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

0
Girish Sortur 16 Дек 2015 в 07:44

Чтобы преобразовать ваш 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();
  }
1
nicost 16 Дек 2015 в 07:38