2023-01-31 00:56:44 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace EesyPHP;
|
|
|
|
|
|
|
|
class Date {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The date format
|
|
|
|
* @see strftime()
|
|
|
|
* @var string
|
|
|
|
*/
|
2023-02-16 01:53:08 +01:00
|
|
|
public static $date_format = "%d/%m/%Y";
|
2023-01-31 00:56:44 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* The datetime format
|
|
|
|
* @see strftime()
|
|
|
|
* @var string
|
|
|
|
*/
|
2023-02-16 01:53:08 +01:00
|
|
|
public static $date_time_format = "%d/%m/%Y %H:%M:%S";
|
2023-01-31 00:56:44 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Format a timestamp as date/datetime string
|
|
|
|
* @param int $time The timestamp to format
|
2024-01-23 19:23:10 +01:00
|
|
|
* @param bool $with_time If true, include time in formatted string
|
2023-01-31 00:56:44 +01:00
|
|
|
* (optional, default: true)
|
|
|
|
*/
|
|
|
|
public static function format($time, $with_time=true) {
|
|
|
|
if ($with_time)
|
|
|
|
return strftime(self :: $date_time_format, $time);
|
|
|
|
return strftime(self :: $date_format, $time);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Parse a date/datetime string as timestamp
|
|
|
|
* @param string $date The date string to parse
|
|
|
|
* @param bool $with_time If true, consider the date string included time
|
|
|
|
* (optional, default: true)
|
|
|
|
*/
|
|
|
|
public static function parse($date, $with_time=true) {
|
|
|
|
if ($with_time)
|
|
|
|
$ptime = strptime($date, self :: $date_time_format);
|
|
|
|
else
|
|
|
|
$ptime = strptime($date, self :: $date_format);
|
|
|
|
if(is_array($ptime)) {
|
|
|
|
return mktime(
|
|
|
|
$ptime['tm_hour'],
|
|
|
|
$ptime['tm_min'],
|
|
|
|
$ptime['tm_sec'],
|
|
|
|
$ptime['tm_mon']+1,
|
|
|
|
$ptime['tm_mday'],
|
|
|
|
$ptime['tm_year']+1900
|
|
|
|
);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|