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

Форум PHP

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

 

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

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

тема: Форматирование даты
 
 автор: Непрограммист   (19.04.2008 в 12:51)   письмо автору
 
 

Сразу признаюсь что в PHP абсолюный нуб, найти что-то в скрипте, поменять и сразу увидеть результат я еще смогу, но программировнаие с нуля для меня темный лес.
Нужно реализовать вывод в одну строку:
1. количество дней прошедших с начала года
2. количество дней прошедших с определенной даты (в скобках)
3. текущую дату в формате число_месяц_прописью_год

Например:
1 (366) 1 января 2008 года
32 (397) 1 февраля 2008 года

Как это сделать?
Может у кого-то уже была подобная задача. Если есть примеры буду очень благодарен.

   
 
 автор: cheops   (19.04.2008 в 15:17)   письмо автору
 
   для: Непрограммист   (19.04.2008 в 12:51)
 

Не понятно, откуда дата берётся и в каком формате она представлена... Имеется в виду текущая дата?

   
 
 автор: Непрограммист   (19.04.2008 в 16:21)   письмо автору
 
   для: cheops   (19.04.2008 в 15:17)
 

Да имеется ввиду функция которая выдает в одну строку вышеперечисленные данные на текущую дату.

Еще подробнне


Кол-во дней прошедших с 1 января текщего года - на текущую дату.
В скобках: кол-во дней прошедших с определенной даты: в моем случае нужно считать от 2 ноября 2007 года. - на текщую дату.
Далее дата.

По количеству дней с определенной даты мне уже посоветовали такое решение:

$refdate = '2008-02-29'; // дата в прошлом (ГГГГ-ММ-ДД), от которой будем считать дни
$now = getdate();
$now['yday']++; // без этого 1 января будет нулевым днем
$now['period'] = floor(($now['0'] - strtotime($refdate)) / 86400);
$months = array('нулября', 'января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'ноября', 'декабря', 'ноября');
echo("{$now['yday']} ({$now['period']}) {$now['mday']} {$months[$now['mon']]} {$now['year']}");

Так что нужно только добавить сюда подсчет количства дней прошедших с 1 текущего года. Как это сделать не соображу че то.

   
 
 автор: sim5   (19.04.2008 в 16:29)   письмо автору
 
   для: Непрограммист   (19.04.2008 в 16:21)
 

С 1 января текущего года, просто, например: date('z');

   
 
 автор: Непрограммист   (19.04.2008 в 17:49)   письмо автору
 
   для: sim5   (19.04.2008 в 16:29)
 

Для вас может быть. А я из 6 слов ничего не понял.

   
 
 автор: sim5   (19.04.2008 в 18:27)   письмо автору
 
   для: Непрограммист   (19.04.2008 в 17:49)
 

Чего не поняли? Функция date() может принимать несколько параметров, в зависимости от которых вы получите ту или иную информацию о дате. Если указать ей в качестве параметра 'z' (прописная), то вы получите порядковый номер дня в году (нумерация с 0, от 0 до 365). Т.е.:

<?
echo date('z'); //выведет поряковый номер текущего дня.
?>

Надо заметить, что такое же можно получить не только с помощью этой функции. Зайдите по ссылке, фунций работы с датами много.

   
 
 автор: Непрограммист   (19.04.2008 в 18:54)   письмо автору
 
   для: sim5   (19.04.2008 в 18:27)
 

Спасибо большое. Теперь понятно.

   
Rambler's Top100
вверх

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