Дата эфирного времени в формате ГГГГ / ММ / ДД ЧЧ: ММ - PullRequest
0 голосов
/ 24 августа 2011

Пока я играл с Air Sqlite, у меня возникли проблемы с сохранением даты в базе данных

INSERT INTO tblUserComments (comment_text, comment_cat,comment_date,parent_id) VALUES('"+bubbleText.text+"','"+chosenCat+"',DATETIME('now', 'localtime'),'"+_parentId+"')

сохранить значение comment_date в следующем формате

2455783.2596296296 вместо 2011/08/09 18: 13.

Как сохранить данные даты в формате ГГГГ / ММ / ДД ЧЧ: ММ?

Большое спасибо.

Ответы [ 2 ]

1 голос
/ 30 апреля 2014

вместо этого используйте параметры, поскольку он автоматически регулирует многие проблемы и устанавливает тип столбца в sqlite равным DATE и назначает ему новый объект Date () напрямую или присваивает ему строковое значение в следующем формате:

private function dateToMySqlFormat(date:Date = null):String
{
    var formattedDate:DateFormatter = new DateFormatter();
    formattedDate.formatString = "YYYY-MM-DD JJ:NN:SS";

    if(date == null) date = new Date;

    return formattedDate.format(date);
}

это должно работать

1 голос
/ 24 августа 2011

После прочтения, ваш столбец не может быть установлен как DATE, так как в SQLite такого типа нет.Цитируем руководство разработчика:

SQLite не имеет класса хранения, выделенного для хранения дат и / или времени.Вместо этого встроенные функции даты и времени в SQLite способны сохранять даты и время в виде значений TEXT, REAL или INTEGER

. Я бы порекомендовал вам сохранять дату как INTEGER времени epoc,затем вы можете выполнить преобразование во что угодно, либо при выборе строк, либо внутри кода.Я лично предпочитаю использовать класс Date, чтобы правильно преобразовать его в зависимости от часового пояса.то есть.var date:Date = new Date(epocTime);

...