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

Форум PHP

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

 

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

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

тема: Дату в unixstamp
 
 автор: virtus1k   (25.11.2008 в 14:19)   письмо автору
 
 

Есть дата такого формата 25-11-2008 17:18 - каким образом мне ее сконвертить в юниксштамп?

  Ответить  
 
 автор: ddhvvn   (25.11.2008 в 14:38)   письмо автору
 
   для: virtus1k   (25.11.2008 в 14:19)
 

mktime
может еще strtotime пригодится

  Ответить  
 
 автор: virtus1k   (25.11.2008 в 15:05)   письмо автору
 
   для: ddhvvn   (25.11.2008 в 14:38)
 

Спасибо. А как же мне это все разбить?

  Ответить  
 
 автор: sim5   (25.11.2008 в 15:10)   письмо автору
 
   для: virtus1k   (25.11.2008 в 15:05)
 

Вам из базы нужно получить в таком формате? Или это строковая переменная?

  Ответить  
 
 автор: virtus1k   (25.11.2008 в 15:12)   письмо автору
 
   для: sim5   (25.11.2008 в 15:10)
 

строковая переменная... в базу я ее собираюсь писать в unixstamp что бы можно было потом прятать новость по окончанию этой даны.... ведь удобнее управлять когда время в юникосовых секундах

  Ответить  
 
 автор: sim5   (25.11.2008 в 15:35)   письмо автору
 
   для: virtus1k   (25.11.2008 в 15:12)
 

<?
//строковое значение
$date "24-08-2008 17:18";
//это в микросекундах, которое вам нужно
$date strtotime($date);
echo 
$date "<br>";
//просто проверка
echo date("Y-m-d H:i:s"$date);

Только дату лучше так писать: год, месяц, день, меньше проблем будет.

  Ответить  
 
 автор: virtus1k   (25.11.2008 в 15:41)   письмо автору
 
   для: sim5   (25.11.2008 в 15:35)
 

спасибо! как всегда погли все!

  Ответить  
 
 автор: mikha   (25.11.2008 в 15:45)   письмо автору
 
   для: sim5   (25.11.2008 в 15:35)
 

<?php 
$t1 
strtotime("09-08-2008 11:06:17");
$t2 strtotime("2008-09-08 11:06:17");
echo 
date("Y-m-d H:i:s"$t1)."<br />";
echo 
date("Y-m-d H:i:s"$t2)."<br />";
/* Выводит 
2015-01-29 11:06:17
2008-09-08 11:06:17
 */
?>

  Ответить  
 
 автор: AcidTrash   (25.11.2008 в 15:52)   письмо автору
 
   для: mikha   (25.11.2008 в 15:45)
 

>$t1 = strtotime("24-08-2008 17:18")."<br />";
Дата должна быть в английском формате.

  Ответить  
 
 автор: mikha   (25.11.2008 в 15:59)   письмо автору
 
   для: AcidTrash   (25.11.2008 в 15:52)
 

Поправил.
В том то и дело что должна быть в формате.

  Ответить  
 
 автор: mikha   (25.11.2008 в 15:11)   письмо автору
 
   для: virtus1k   (25.11.2008 в 14:19)
 

<?php 
$t_arr_1 
explode(" ""25-11-2008 17:18");
$t_arr_2 explode("-"$t_arr_1['0']);
$t3 $t_arr_2['2']."-".$t_arr_2['0']."-".$t_arr_2['1']." ".$t_arr_1['1'];
echo 
strtotime($t3);
?>

Можно ещё регулярными выражениями, но я ими толком не занимался.

  Ответить  
 
 автор: virtus1k   (25.11.2008 в 15:23)   письмо автору
 
   для: virtus1k   (25.11.2008 в 14:19)
 

хм, просто -
strtotime("2008-11-25 01:11")
- выводит то, что нужно - но как оно понимает где что :) ???

  Ответить  
 
 автор: ddhvvn   (25.11.2008 в 15:29)   письмо автору
 
   для: virtus1k   (25.11.2008 в 15:23)
 

>но как оно понимает где что :) ???
ну че ж - искуственный интелект )) Вы же понимаете,"что где" ;-)

а mktime смотрели хоть?

  Ответить  
 
 автор: virtus1k   (25.11.2008 в 15:34)   письмо автору
 
   для: ddhvvn   (25.11.2008 в 15:29)
 

для mktime мне же нужно разбивать.... не подходит!
вот strtotime то, что нужно ! Большое спасибо!

  Ответить  
 
 автор: AcidTrash   (25.11.2008 в 15:30)   письмо автору
 
   для: virtus1k   (25.11.2008 в 15:23)
 

Что тут удивительного? Дата у вас записана в английском формате, который и нужен для разбора и преобразования в UNIX формат.

  Ответить  
 
 автор: mikha   (25.11.2008 в 15:32)   письмо автору
 
   для: virtus1k   (25.11.2008 в 15:23)
 

А теперь сравните
<?php 
$t 
"25-11-2008 17:18";
$t2 "2008-25-11 17:18";
echo 
strtotime($t)."<br />";
echo 
strtotime($t2)."<br />";
?>

результат
1935382680
1263194280

УПС.. я подумал что вы свою дату (25-11-2008 17:18) strtotime и радуетесь что всё правильно.

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

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