Бортовой журнал Ктулху

Шпаргалка по работе с датами в PHP

Несколько простых примеров работы с датами на PHP.

 

echo "Procedural programming<br>";
echo "First day of current month<br>";
var_dump(date('Y.m.01'));
echo "First day of previous month<br>";
var_dump(date('Y.m.d', strtotime('first day of last month')));
echo "Last day of previous month<br>";
var_dump(date('Y-m-d', strtotime('last day of previous month')));
echo "Now<br>";
var_dump(date('Y.m.d'));
$some_date = '10.12.2001';
echo "First day of the month.<br>";
var_dump(date('Y-m-01', strtotime($some_date)));
echo "Last day of the month.<br>";
var_dump(date('Y-m-t', strtotime($some_date)));
echo "Some date: " . $some_date . "<br>";
$date = date('Y.m.d',strtotime($some_date));
var_dump($date);
echo "Next year: " . $date . " plus 12 mon... <br>";
var_dump(date('Y.m.d',strtotime(" + 365 day", time())));
echo "Half year ago: " . $date . " minus 6 mon... <br>";
var_dump(date('Y.m.d', strtotime("-6 month", time())));
$sss = date("Y.m.d",strtotime($some_date. ' + 1 days'));
echo "Some date " . $date . " + 1 day: => ".$sss."<br>";
var_dump($sss);
echo "Object-oriented programming<br>";
echo "Some date: " . $some_date . "<br>";
$date = DateTime::createFromFormat('d.m.Y', $some_date);
var_dump($date->format('Y.m.d'));
echo "Next year: " . $some_date . " plus 12 mon... <br>";
$date->modify('+ 365 day');
var_dump($date->format('Y.m.d'));
echo "Half year ago: " . $some_date . " minus 6 mon... <br>";
$date->modify("-6 month");
var_dump($date->format('Y.m.d'));
 
echo "Days from " . $some_date . " date to present day <br>";
// get date which "from"
$from = strtotime($some_date);
$now = time(); // or your date as well
$datediff = $now - $from;
echo round($datediff / (60 * 60 * 24));
 
echo "<br> number of month: ";
echo date('n',strtotime($some_date));
echo "<br>";
echo "date create from format: ".$some_date." -> Ymd<br>";
$some_date = '10.12.2001';
$RefDate_ = DateTime::createFromFormat('d.m.Y', $some_date);
echo $RefDate_->format('Ymd');
echo "<br>";
echo date("d.m.Y",strtotime($some_date));
 
echo "<br><br><br>\r\nparse date from string<br>\r\n";
echo "<pre>";
$format = 'd.m.Y';
var_dump(date_parse_from_format($format,$some_date));
echo "</pre>";
 
echo "<br><br><br>\r\nunix time start<br>\r\n";
echo "<pre>";
var_dump(date("d.m.Y",1));
echo "</pre>";
echo "<br><br><br>\r\nProgrammer`s day<br>\r\n";
echo "<pre>";
$first_day_of_year = date('d.m.Y',strtotime(date('Y-01-01'))); // 01.01 преобразуем в дату
$programmers_day = strtotime($first_day_of_year. ' + 255 days'); // первый ден + 255
var_dump(date("d.m.Y",$programmers_day));
echo "</pre>";
 
echo "<br><br><br>\r\nHow to set a value for the input type 'datetime-local'?<br>\r\n";
?><input type="datetime-local" value="<?php echo Date('Y-m-d\TH:i',time()) ?>"><?php
cho "<br>";
echo "Date format<br>";
echo "<br>M<br>";
echo "<pre>";
var_dump(date('M'));
echo "</pre>";
echo "<br>m<br>";
echo "<pre>";
var_dump(date('m'));
var_dump(date('GGGGMMDDHHMMSS'));
echo "</pre>";