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

Форум PHP

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

 

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

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

тема: time() в дату
 
 автор: neadekvat   (24.06.2009 в 14:59)   письмо автору
 
 

Скажите, возможно ли, имея метку time() (которая была сделана n времени назад) превратить в дату вида число.месяц.год?

  Ответить  
 
 автор: sim5   (24.06.2009 в 15:03)   письмо автору
 
   для: neadekvat   (24.06.2009 в 14:59)
 

<?
$t 
time(); //полученная некогда метка
//когда-то далее 
echo date("d-m-Y"$t);

  Ответить  
 
 автор: neadekvat   (24.06.2009 в 15:11)   письмо автору
 
   для: sim5   (24.06.2009 в 15:03)
 

Благодарю)
Прошу еще помощи. Может, я вообще зря с time связался
Мне нужно сохранить время (необязательно секунды, нужен хотя бы день), так же нужно сохранить дату, которая будет ровно через год. А за месяц до того, как будет год (или через 11 месяцев) нужно будет сообщить, что собстно остался месяц. Вызвать функцию через 11 месяцев - это ладно, а как все это посчитать - в уме не укладывается.

  Ответить  
 
 автор: sim5   (24.06.2009 в 15:19)   письмо автору
 
   для: neadekvat   (24.06.2009 в 15:11)
 

date("n", $t); - получает только месяц из ранее сохраненной метки, а значит если при этом будет получаться 12, то сообщайте чего вам нужно.

PS. Ой стоп, вам нужно сравнить ранее полученный месяц с месяцем текущего года что ли?

<?
if (date("n") - date("n"$t) == 1) echo "Прошло 11 месяцев"

Если только вам не важно, чтобы собитие наступило в точности с учетом до часов/мину/секунд.

  Ответить  
 
 автор: neadekvat   (24.06.2009 в 15:23)   письмо автору
 
   для: sim5   (24.06.2009 в 15:19)
 

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

Добавлено:
Проще пример привести. Допустим, я добавляю метку сегодня, 24.06.2009, значит так же я должен добавить в бд дату 24.06.2010. А 24.05.2010 вывести сообщение о том, что через месяц уже будет год.

Спасибо, я, конечно, сомневаюсь, что на хостингах, например, так делают, но мне и такое пойдет)

  Ответить  
 
 автор: sim5   (24.06.2009 в 15:47)   письмо автору
 
   для: neadekvat   (24.06.2009 в 15:23)
 

Если после проверки эта дата обновляется на новую, достаточно и проверки по месяцу, иначе нужно учитывать еще и год.

  Ответить  
 
 автор: neadekvat   (24.06.2009 в 16:09)   письмо автору
 
   для: sim5   (24.06.2009 в 15:47)
 

Извращаться - так извращаться, вот что у меня получилось

<?php
$today 
date('d.n.Y');
echo 
'Дата добавления: '.$today;
echo 
'<br>';
$end_year date('Y') + 1;
$end_date date('d.n').'.'.$end_year;
echo 
'Дата окончания: '.$end_date;
if (
date('n') != 1) { // если месяц - НЕ январь
$warn_month date('n') - 1// чтобы месяц не получился нулевым
$warn_date date('d').'.'.$warn_month.'.'.$end_year;
} else {
// если сейчас январь - то 11 месяцев после января - декабрь того же года
$warn_date date('d.12.Y');
}
echo 
'<br>';
echo 
'Дата предупреждения: '.$warn_date;
?>

В итоге получается это:
Дата добавления: 24.6.2009
Дата окончания: 24.6.2010
Дата предупреждения: 24.5.2010

И вот это, если поставить явнварь
Дата добавления: 24.1.2009
Дата окончания: 24.1.2010
Дата предупреждения: 24.12.2009

Ну, а уж сравнить две строки (дату с "датой предупреждения") - это вообще первое, что в php изучается, по-моему

  Ответить  
 
 автор: sim5   (24.06.2009 в 16:34)   письмо автору
 
   для: neadekvat   (24.06.2009 в 16:09)
 

И к чему вся эта арифметика? У вас есть временная метка или дата сохраненная N времени назад. Если получить текущую метку/дату, и отнять от нее сохраненную, то вы узнаете искомое.
Как правильно сравнивать даты уже тут писалось не однократно, вам будет полезно поискать эти темы и почитать.

  Ответить  
 
 автор: neadekvat   (24.06.2009 в 17:26)   письмо автору
 
   для: sim5   (24.06.2009 в 16:34)
 

В дальнейшем над этими датами будут совершаться еще действия, и там удобнее взять все-таки такой вид, а не 1234567890

Хотя с другой стороны, к виду date можно всегда привести, а к time уже сложнее
Надо будет подумать
Спасибо

  Ответить  
 
 автор: sim5   (24.06.2009 в 18:11)   письмо автору
 
   для: neadekvat   (24.06.2009 в 17:26)
 

Кто сказал что сложнее? http://ru2.php.net/manual/ru/ref.datetime.php

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

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