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

  • 2 months 1 week ago
    [preflight] The following restricted PHP modes have non-empty values: {open_basedir}. This configuration is incompatible with drush.

    Same with Drush 13 + PHP 8.3

  • 2 months 1 week ago
    Acronis CyberProtect Agent For Linux (Strato Root Server)

    Initializing...

    Error : Failed to install the required package 'RPM' by using APT. Please install it manually. 

    Exit


    Solution:

  • 2 months 1 week ago
    Acronis CyberProtect Agent For Linux (Strato Root Server)

    So habe es installiert und dann mit Hilfe von Key/Code (über Website von Acronis Cyber Protect) aktiviert:

  • 2 months 1 week ago
    No route found for the specified format html. Supported formats: csv, json. (Drupal Routing)

    I have a view with a path like /my-content-export to export entivies as JSON or CSV.

  • 2 months 2 weeks ago
    InvalidArgumentException: The controller for URI "/admin/flush" is not callable.

    admin_toolbar 3.5.2 is the reason. Patch coming ...

  • 1 month ago
    PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock

    Drupal 10.4:

  • 3 months 2 weeks ago
    Server install & config : Debian 12 + Plesk + Apache + nginx + MariaDB + Solr

    Tools & Settings >> Security Policy :

     Allow only secure FTPS connections 

  • 4 months 4 weeks ago
    MariaDB Server Performance Optimieren

     

    /usr/sbin/mariadbd --help --verbose | grep "query.*size"
  • 4 months 4 weeks ago
    MariaDB Server Performance Optimieren

    Commandline:

    systemctl restart mariadb
  • 4 months 4 weeks ago
    MariaDB Server Performance Optimieren

    After my changes in /etc/mysql/db-performance.cnf