日時オブジェクトは
_[start_time] => Array
(
[0] => Array
(
[value] => Drupal\Core\Datetime\DrupalDateTime Object
(
[formatTranslationCache:protected] =>
[inputTimeRaw:protected] =>
[inputTimeAdjusted:protected] =>
[inputTimeZoneRaw:protected] =>
[inputTimeZoneAdjusted:protected] =>
[inputFormatRaw:protected] =>
[inputFormatAdjusted:protected] =>
[langcode:protected] => en
[errors:protected] => Array
(
)
[dateTimeObject:protected] => DateTime Object
(
[date] => 2017-03-17 02:04:03.000000
[timezone_type] => 3
[timezone] => UTC
)
[stringTranslation:protected] =>
)
_
取得方法[date] => 2017-03-17 02:04:03.0000 ??????
print_r($ruleContentNew[0]['start_time'][0]['value']->getValue());die;
を使用してみましたが、エラーが発生します。
試す
$ node-> get( 'start_time')-> getValue();
これは実際に配列を提供します。配列を検査/ダンプすると、このような値を取得できることがわかります。
$node->get('start_time')->getValue()[0]['value'];
または、単に$node->start_time->value;
注:コアのデフォルトの日付フィールドを使用しており、ノードを使用していると想定しています。従って $node
、そしてまた注目に値する、通常あなたの日付マシン名はfield_something
。 OPerがcontribまたはカスタムモジュールを使用していると思います。
日付フィールドに開始時刻と終了時刻を設定できるcontribモジュールを使用している場合は、おそらくdiffソリューションが必要になります。
試す
$node->start_time->value;
またはそれが複数の値の場合
$values = $node->get('start_time')->getValue();