Strict Standards: Resource ID#35 used as offset, casting to integer (35) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#38 used as offset, casting to integer (38) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Дата на PHP
ТвойWeb » WebMaster класс » PHP/Perl » Дата на PHP

Страниц (3): [1] 2 3 »
 

1. Bolat - 25 Февраля, 2005 - 01:58:35 - перейти к сообщению
Привет всем.

Задача: вывести из базы все записи, у которых значение поля "Date" не больше
20-02-2005.

Для этого навероне надо знать как получать дату в результате арифметических действий.
Например если сегодня 25-02-05:
CODE:

<?php
echo $D=Date('dmy')-1;
?>

Получается 250204, а мне надо чтобы получалось 240205.
Или:
CODE:

<?php
echo $D=Date('dmy')-100;
?>

Получается 250105, а мне надо чтобы получалось 061104.


2. Ray Wen - 25 Февраля, 2005 - 03:32:06 - перейти к сообщению
Bolat
Ну для этого нужно во много крат усложнять код... и ставить делитель между d.m.y... после чего разбивать на массив и там уже сложными арифмитическими вычислениями все делать. У тебя получаеться число dmy равное двухста пятидесяти тысячам двести четыре... не удивительно что вычитает он из года, так как для него это только десятые. Вообщем если посоображаеш, то получиться сделать, но это уже мини программа, а не просто код. Подскажу немного...

CODE:

$D=Date('d.m.y')
$line = explode ( ".", $D );

#Тогда получиться следующее: $line[0]=25, $line[1]=02, $line[2]=05...
3. TvoyWeb - 25 Февраля, 2005 - 04:35:57 - перейти к сообщению
Bolat
А база на MySQL или как? И в каком формате записана дата в базе?
Ray Wen пишет:
Ну для этого нужно во много крат усложнять код...

Для этого есть mktime()
CODE:
$today = mktime(0,0,0,date("m"),date("d"),date("Y"));

Если нужно получить вчерашний день
CODE:
$today = mktime(0,0,0,date("m"),date("d")-1,date("Y"));

Но это дата в формате таймстамп.
4. Bolat - 25 Февраля, 2005 - 06:49:03 - перейти к сообщению
TvoyWeb
mktime() - то что надо. Рахмет.

Ray Wen
Цитата:
но это уже мини программа, а не просто код.

Прикинь у меня тоже в начале промелькнула такая мыль. Улыбка.
Но в последнее время и страраюсь сдержевать темперамент и изучать более подробно возможности такого мощного языка как PHP и др.

5. Ray Wen - 25 Февраля, 2005 - 07:37:41 - перейти к сообщению
TvoyWeb
Хех... даже не слышал о существовании такой команды... спасибо...
6. Bolat - 04 Июля, 2005 - 01:39:53 - перейти к сообщению
TvoyWeb
CODE:

echo date("m-d-y", mktime(0, 0, 0, Date("m"), Date("d"), Date("y")));


Получается к примеру: 07-04-05.

А можно получить дату в другом формате?
В таком:
04-07-2005, то есть 4-ое июля 2005-го года.
7. RaZoR - 04 Июля, 2005 - 03:18:13 - перейти к сообщению
Bolat
поменяй местами m и d.
8. Bolat - 04 Июля, 2005 - 06:26:38 - перейти к сообщению
RaZoR
Не памагает.
9. TvoyWeb - 04 Июля, 2005 - 17:15:22 - перейти к сообщению
CODE:
echo date("d-m-Y", mktime(0, 0, 0, Date("m"), Date("d"), Date("y")));
10. Bolat - 06 Июля, 2005 - 00:48:13 - перейти к сообщению
TvoyWeb
Клева.

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0387]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33