[Drupal]時間・日付に関するチートシート
※随時増やしていく予定
現在の時刻を取得する
現在の時刻のタイムスタンプを取得する
\Drupal::time()->getCurrentTime();
リクエスト時刻のタイムスタンプを取得する
\Drupal::time()->getRequestTime();
日付↔タイムスタンプの変換をする
タイムスタンプを日付に変換する
use Drupal\Core\Datetime\DrupalDateTime;
$timestamp = '1640995200';
$datetime = DrupalDateTime::createFromTimestamp($timestamp);
$date = $datetime->format('Y/m/d');
日付をタイムスタンプに変換する
- フォーマットから取得する場合
use Drupal\Core\Datetime\DrupalDateTime;
$date = '2022-01-01';
$datetime = DrupalDateTime::createFromFormat('Y-m-d', $date);
$timestamp = $datetime->getTimestamp();
- 配列から取得する場合
use Drupal\Core\Datetime\DrupalDateTime;
$date = [
'year' => 2022,
'month' => 1,
'day' => 1,
];
$datetime = DrupalDateTime::createFromArray($date);
$timestamp = $datetime->getTimestamp();
フィールド値をフォーマットする
日付フィールドの値をフォーマットする
- タイムスタンプにする
$node->get('field_my_date')->date->getTimestamp();
- 任意のフォーマットにする
$node->get('field_my_date')->date->format('Y-m-d H:i:s') ;
タイムスタンプフィールドの値をフォーマットする
$timestamp = $node->get('field_my_timestamp')->getString();
$date = DrupalDateTime::createFromTimestamp($timestamp)->format('Y-m-d');
Drupalに登録されているフォーマットを使う
「Drupalに登録されているフォーマット」= /admin/config/regional/date-time
で登録されているフォーマット
$date = \Drupal::service('date.formatter')->format($timestamp,'my_custom_format');
Author And Source
この問題について([Drupal]時間・日付に関するチートシート), 我々は、より多くの情報をここで見つけました https://qiita.com/863/items/d13c57d9bb89e6a6315c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .