Drupal Datetime in Custom Module (convert Europe/Germany to UTC)

Problem:

Timezone of Server/PHP/Drupal : Europe/Germany

Datetime value converted automatically to UTC + 120 Minutes (Europe/Germany). 

Solution:

Convert Datetime to UTC before saving node. 

PHP Code (modules/custom/my_module/src/Controller/MyController1.php):

<?php

use Drupal\node\NodeInterface;
use Drupal\node\Entity;
use Drupal\node\Entity\Node;
use Drupal\Core\Datetime;
use Drupal\Core\DateTimeZone;

// ... other code, class, function etc
    
    
$datum_obj = \DateTime::createFromFormat('d.m.Y H:i', "29.08.2024 14:15");


$datum_obj->setTimezone(new \DateTimeZone( 'UTC' ) );
$datum_uhrzeit = $datum_obj->format("Y-m-d\TH:i:s");

// $datum_timestamp = $datum_obj->getTimestamp();

$node = Node::create([
    'type' => 'article',
    'langcode' => 'de',
    'title' =>  "Some Custom Title",
    'field_my_custom_date' =>  $datum_uhrzeit,
]);

$node->save();

// ... other code 

 

Neuen Kommentar schreiben

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Suche

Neueste Kommentare

  • 3 days 19 hours ago
    Warning: Undefined array key "url" in Drupal\Core\Asset\CssCollectionOptimizerLazy->optimizeGroup()
    Warning: Undefined array key "url" in Drupal\Core\Asset\JsCollectionOptimizerLazy->optimizeGroup() 
  • 5 days 20 hours ago
    Server install & config : Debian 12 + Plesk + Apache + nginx + MariaDB + Solr
    sudo timedatectl set-timezone Europe/Berlin
  • 1 week 5 days ago
    Warning: PHP Startup: Unable to load dynamic library 'apcu.so' ... cannot open shared object file: No such file or directory

    Try this:

  • 3 weeks 4 days ago
    List Cronjobs for all users (via for + crontab)

    Alternative (without warnings like "no crontab for dovecot") to see all tasks:

  • 3 weeks 2 days ago
    Install APCu (PHP 8.1, Plesk)

    php 8.3 apcu failed

    über Plesk hat es geklappt.

     

  • 3 weeks 2 days ago
    Install APCu (PHP 8.1, Plesk)

     

    install:

    # sudo apt install php-dev
    
  • 3 weeks 2 days ago
    pecl install apcu : phpize: not found / ERROR: `phpize' failed

    phpize

    # sudo apt install php-dev
    

     

    details

  • 3 weeks 2 days ago
    Install APCu (PHP 8.1, Plesk)

    Problem:

  • 2 months 1 week ago
    Install APCu (PHP 8.1, Plesk)

    Problem:

  • 3 months 2 weeks ago
    Linux mv: das Verschieben von 'new' nach 'old' ist nicht möglich: Das Verzeichnis ist nicht leer

    Hilft "cp -avf old new && rm -rvf old" nicht?