在php中将日期和时间转换为仅年份

在php中将日期和时间转换为仅年份,php,drupal,Php,Drupal,我有一个变量,它的值是php中的日期和时间。如何将其转换为变量以仅获取年份?我不需要自动更新,但格式的变化是必要的。通常的答案是关于日期的,但我的变量也包含时间 The format coming by now is 2017-12-11 4:06:37 and i need only 2017 这样使用: <?php echo date('Y',strtotime('now'));?> 使用类 您可以这样编写代码(工作正常): 可以使用简单的DateTime函数和date_F

我有一个变量,它的值是php中的日期和时间。如何将其转换为变量以仅获取年份?我不需要自动更新,但格式的变化是必要的。通常的答案是关于日期的,但我的变量也包含时间

The format coming by now is 2017-12-11 4:06:37 and i need only 2017
这样使用:

<?php echo date('Y',strtotime('now'));?>

使用类

您可以这样编写代码(工作正常):


可以使用简单的DateTime函数和date_Format()函数分别显示年份、月份和日期

为此,您必须首先使用以下方法转换当前日期时间字符串的in对象:

$date = new \DateTime('2017-12-11 4:06:37');
然后您可以使用以下代码使用日期格式功能:

echo date_format($date, "Y"); //for Display Year
echo date_format($date, "m"); //for Display Month
echo date_format($date, "d"); //for Display Date

正如Himanshu Upadhyay所提到的,这是正确且最简单的方法

<?php 
  echo date('Y',strtotime('now'));
?>


但我建议你读一下。你真的应该这么做

如果你想要一个特定于Drupal的答案,你应该问一个更特定于Drupal的问题。当您使用Drupal时,您可能不需要使用PHP,可以在某个地方的接口中使用它,但这取决于输出日期的位置。
echo date_format($date, "Y"); //for Display Year
echo date_format($date, "m"); //for Display Month
echo date_format($date, "d"); //for Display Date
<?php 
  echo date('Y',strtotime('now'));
?>