javascript — изменить формат времени между angularjs — mysql

У меня проблемы с управлением форматом времени между angularjs (javascript) — php — mysql. Я сохранял время как 24:00:00, 12: 00: 00,01: 30: 00,05: 34: 00 от углового до mysql через php. Здесь я использую тип времени mysql. Получая время через php от mysql, я получил строку, но javascript плохо понимает объект даты, тогда только я могу показать время просмотра. Есть ли идея справиться с этой ситуацией? Я использую некоторое время, но это не делает мой результат лучше, я добавил список используемых плагинов, пожалуйста, обратитесь, а также вы можете помочь мне справиться с этим.

Демо-ссылка

ссылка на github

здесь этот автор использовал как директиву, но я буду инициализировать модель с указанным выше форматом времени, я получаю недействительную дату как результат в консоли, пока выбираю дату, после отправки обнуленное значение передается только как значение модели на сервер.

0

Решение

Иногда легче работать с Date.prototype.getTime()

var birthday = new Date(1994, 12, 10);
var time = birthday.getTime(); // 789696000000
var date2 = new Date(time); // Same as birthday

Затем в конце вы можете преобразовать его в дату с помощью простого помощника. У меня есть некоторый C # (перенести его на PHP или должно быть легко) код, который делает эту работу:

public class JsDateHelper : IJsDateHelper
{
public DateTime FromUnixTime(double unixTime)
{
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return epoch.AddMilliseconds(unixTime);
}

public long ToUnixTime(DateTime date)
{
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return Convert.ToInt64((date - epoch).TotalMilliseconds);
}
}

Делая так, вы будете хранить в базе данных номер 789696000000 и передать его в угловых в угловых вы превратите его в фактическую дату, используя new Date(789696000000) Я думаю, что таким образом уменьшается сложность, потому что вам нужно беспокоиться о формате, когда вы собираетесь отображать дату.

Надеюсь, поможет!

1

Другие решения

Других решений пока нет …