RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 547
от 20.12.2006, 12:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 388, Экспертов: 51
В номере:Вопросов: 2, Ответов: 2


Вопрос № 66964: Здравствуйте! Как изменить формат даты и времени полученные из базы данных mysql, в формат понятный JavaScript? В примере строчка для создания js скрипта. $created - дата полученая из базы. Что-то типа "2006-12-14 13-46" Во...
Вопрос № 67070: Вот такая делема, уважаемы эксперты! По неграмотности в таблицу с записями для того, чтобы записать дату добавления, сделал поле time типа int и записывал числом время в формате UNIX. Теперь появилась проблема: мне нужно выводить количество добав...

Вопрос № 66.964
Здравствуйте!

Как изменить формат даты и времени полученные из базы данных mysql, в формат понятный JavaScript?
В примере строчка для создания js скрипта. $created - дата полученая из базы. Что-то типа "2006-12-14 13-46"
Вообще-то это продолжение
http://rusfaq.ru/info/question/66869
Я кое-что покрутил, у меня даже заработало, но вот не timestamp, ни автозаполнение поля текущем временем сделать не получилось.

Приложение:

Отправлен: 14.12.2006, 15:26
Вопрос задал: Талипов А Н (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: HookEst
Здравствуйте, Талипов А Н!

echo 'document.writeln("создано "+new Date('.strtotime("2006-12-14 13:46").'000).toLocaleString())';

обратите внимание: strtotime - возвращает метку в секундах, а Date принимает метку в МИЛЛИсекундах, надо или умножать на 1000 или просто дописать в конец 000, и не заключайте аргумент Date в кавычки, он должен быть Numeric

и немного по теме:
Аргументы Date в JS могут быть:
dateObj = new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]])
где year, month, date, hours, minutes, seconds,ms - соответственно год, месяц, день, час, минута, секунда, миллисекунда цифрами
или
dateObj = new Date(dateVal)
где dateVal- если цифра - то метка времени UTC в миллисекундах,
а если строка, то все сложнее
посмотрите справку метода Date.parse(), там все подробно расписано, а в кратце, если не "заморачиваться" со днями недели, названиями месяцев и т.п., а только цифрами, то формат должен быть:

mm/dd/yyyy [hh:[mm:[ss]]] - именно так - месяц, день, год; разделителем может быть "/" или "-"

в Вашем случае или форматируйте дату по этому правилу(лучше прямо в запросе SQL), или удобнее всего выводить сразу в UTC.
Ответ отправил: HookEst (статус: 10-ый класс)
Ответ отправлен: 15.12.2006, 08:25
Оценка за ответ: 5
Комментарий оценки:
Спасибо, сделал как в примере - работает.С остальным попробую разобраться.


Вопрос № 67.070
Вот такая делема, уважаемы эксперты!
По неграмотности в таблицу с записями для того, чтобы записать дату добавления, сделал поле time типа int и записывал числом время в формате UNIX. Теперь появилась проблема: мне нужно выводить количество добавленных записей за 24 часа! Выходит нужно каким то образом что то поменять. Вопрос: что делать?
Отправлен: 15.12.2006, 09:43
Вопрос задал: Бобровский Сергей Сергеевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: PVS
Здравствуйте, Бобровский Сергей Сергеевич!
Unix-дата это количество секунд от 01-01-1970. Тоесть разница в 24 часа в ней будет соответствовать 24*60*60. По условию:
текущая_дата - дата_внесения_записи < 24*60*60
Вы получите записи за последние 24 часа и ничего менять не надо.
Ответ отправил: PVS (статус: Специалист)
Ответ отправлен: 15.12.2006, 10:09
Оценка за ответ: 4


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.38 от 20.12.2006
Яндекс Rambler's Top100

В избранное