Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как преобразовать дату?
 
 автор: sega_z   (21.03.2012 в 12:30)   письмо автору
 
 

Можно ли преобразовать дату извлекаемую из Mysql в формате DATETIME в дату вида: Tue, 20 Mar 2012 23:29:10 GMT

  Ответить  
 
 автор: Valick   (21.03.2012 в 12:33)   письмо автору
 
   для: sega_z   (21.03.2012 в 12:30)
 

да, причем все это можно и нужно делать средствами самой MySQL и доставать уже готовый результат
http://www.mysql.ru/docs/man/Date_and_time_functions.html

  Ответить  
 
 автор: sega_z   (21.03.2012 в 12:34)   письмо автору
 
   для: Valick   (21.03.2012 в 12:33)
 

А как это сделать, чтобы значение DATETIME в б.д. осталось без изменений. А дата нового вида заносилась в переменную.

  Ответить  
 
 автор: Valick   (21.03.2012 в 12:40)   письмо автору
 
   для: sega_z   (21.03.2012 в 12:34)
 

а оно там и останется без изменений
А дата нового вида заносилась в переменную
точно также как и любая информация которая достается из базы
__
покажите наконец свой запрос, а то пальцы уже болят на них разговаривать :)

  Ответить  
 
 автор: sega_z   (21.03.2012 в 12:46)   письмо автору
 
   для: Valick   (21.03.2012 в 12:40)
 

Прошу прошения, вот живой пример:


$result888 = mysql_query ("SELECT date_end FROM doska WHERE id='$id'",$db);
$myrow888 = mysql_fetch_array ($result888);
$date_end = $myrow888['date_end']


В переменную $date_end заносится дата вида: 2012-03-18 10:28:38

  Ответить  
 
 автор: Valick   (21.03.2012 в 12:57)   письмо автору
 
   для: sega_z   (21.03.2012 в 12:46)
 

SELECT date_format(date_end,'%a, %e %b %Y %T') AS de FROM doska WHERE id='$id'

ловите в $myrow888['de']
останется только с GMT разобраться, я с локалями не очень дружу

  Ответить  
 
 автор: sega_z   (21.03.2012 в 13:11)   письмо автору
 
   для: Valick   (21.03.2012 в 12:57)
 

Спасибо!

Получается, что сервер выдает местное время, нужно вычесть 5 часов и подставить строку "GMT"

Как при помощи указанного вами кода, на стороне mysql, вычесть 5 часов и уже готовый результат занести в $myrow888['de'] ?

  Ответить  
 
 автор: Valick   (21.03.2012 в 13:17)   письмо автору
 
   для: sega_z   (21.03.2012 в 13:11)
 

легко :)
SELECT date_format(date_end - INTERVAL 5 HOUR,'%a, %e %b %Y %T') AS de FROM doska WHERE id='$id'

но по идее это не правильно, надо как-то с локалями, а то что в москве что во владике будет одно и тоже

  Ответить  
 
 автор: task   (21.03.2012 в 13:28)   письмо автору
 
   для: Valick   (21.03.2012 в 13:17)
 

Локаль не определяет временную зону

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования