从指定的date获取一年的PHP
我有一个2068-06-15
格式的date。 我想从date,使用PHP函数获得的一年。 有人可以请build议如何做到这一点。
$date = DateTime::createFromFormat("Ymd", "2068-06-15"); echo $date->format("Y");
DateTime类在内部不使用unix时间戳,因此它处理1970年之前或2038之后的date。
你可以使用像这样的strtotime
和date
函数:
echo date('Y', strtotime('2068-06-15'));
请注意,PHP可以处理2038年
你可以在这里testing一下
如果你的date总是这样的格式,你也可以得到这样的一年:
$parts = explode('-', '2068-06-15'); echo $parts[0];
<?php
list($ year)= explode(“ - ”,“2068-06-15”);
echo $ year;
?>
我会用这个:
$parts = explode('-', '2068-06-15'); echo $parts[0];
看起来date来自一个始终相同的来源,这种方式使用爆炸更快。
public function getYear($pdate) { $date = DateTime::createFromFormat("Ymd", $pdate); return $date->format("Y"); } public function getMonth($pdate) { $date = DateTime::createFromFormat("Ymd", $pdate); return $date->format("m"); } public function getDay($pdate) { $date = DateTime::createFromFormat("Ymd", $pdate); return $date->format("d"); }
假设你有一个string的date(对不起,从你的问题是不清楚,如果是这样的话)可以拆分字符的字符如下所示:
$date = "2068-06-15"; $split_date = split("-", $date); $year = $split_date[0];
$Y_date = split("-","2068-06-15"); $year = $Y_date[0];
你也可以使用爆炸
你写的格式可以从YYYY-MM-DD变为DD-MM-YYYY,你可以尝试在那里find年份
$parts = explode("-","2068-06-15"); for ($i = 0; $i < count($parts); $i++) { if(strlen($parts[$i]) == 4) { $year = $parts[$i]; break; } }