我的格式为2068-06-15
。我希望从日期开始,使用php函数。有人可以建议如何做到这一点。
答案 0 :(得分:78)
$date = DateTime::createFromFormat("Y-m-d", "2068-06-15");
echo $date->format("Y");
DateTime类在内部不使用unix时间戳,因此它可以处理1970年之前或2038之后的日期。
答案 1 :(得分:50)
echo date('Y', strtotime('2068-06-15'));
但请注意,PHP可以处理高达2038年的年度
如果您的日期始终采用该格式,您也可以获得这样的年份:
$parts = explode('-', '2068-06-15');
echo $parts[0];
答案 2 :(得分:2)
<?php
list($year) = explode("-", "2068-06-15");
echo $year;
?>
答案 3 :(得分:2)
我会用这个:
$parts = explode('-', '2068-06-15');
echo $parts[0];
看起来日期来自一个始终相同的来源,使用爆炸这种方式更快。</ p>
答案 4 :(得分:2)
public function getYear($pdate) {
$date = DateTime::createFromFormat("Y-m-d", $pdate);
return $date->format("Y");
}
public function getMonth($pdate) {
$date = DateTime::createFromFormat("Y-m-d", $pdate);
return $date->format("m");
}
public function getDay($pdate) {
$date = DateTime::createFromFormat("Y-m-d", $pdate);
return $date->format("d");
}
答案 5 :(得分:2)
您可以尝试使用 strtotime()和 date()函数以最少的代码并使用标准方式进行输出。
echo date('Y', strtotime('2068-06-15'));
答案 6 :(得分:1)
您可以使用php date()和explode()函数实现您的目标:
$date = date("2068-06-15");
$date_arr = explode("-", $date);
$yr = $date_arr[0];
echo $yr;
就是这样。编码愉快:)
答案 7 :(得分:0)
假设您将日期作为字符串(很遗憾,从您的问题中不清楚是否是这种情况)可以将字符串拆分为 - 字符,如下所示:
$date = "2068-06-15";
$split_date = split("-", $date);
$year = $split_date[0];
答案 8 :(得分:0)
$Y_date = split("-","2068-06-15");
$year = $Y_date[0];
你也可以使用爆炸
答案 9 :(得分:0)
您写的格式可以从YYYY-mm-dd更改为dd-mm-YYYY您可以尝试在那里找到年份
$parts = explode("-","2068-06-15");
for ($i = 0; $i < count($parts); $i++)
{
if(strlen($parts[$i]) == 4)
{
$year = $parts[$i];
break;
}
}