Php 如何将法语日期时间字符串转换回英语 UTC 中的等效日期时间字符串

Php how to convert a date time string in French back to its equivalent in English UTC

我的数据库中存储了这个日期时间字符串 vendredi 11 février 2022 à 20:19:56 heure normale d’Europe centrale

现在我正在尝试将其转换回其等效的英语 UTC 日期时间。

为了处理它,我尝试了strtotime:

$datetime = 'vendredi 11 février 2022 à 20:19:56 heure normale d’Europe centrale';

$tsparis = strtotime($datetime . ' Europe/Paris');

var_dump($tsparis);

这表明 bool(false)。如何将此字符串解析回时间戳。

您可以使用字符串中的 IntlDateFormatter to parse 日期并将其格式化为字符串。

在这种情况下,传递区域设置 'fr_FR' 以及日期和时间格式“完整”就足够了:

$datetime = 'vendredi 11 février 2022 à 20:19:56 heure normale d’Europe centrale';

$parser = new IntlDateFormatter(
    'fr_FR',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL
);
$tsparis = $parser->parse($datetime);

var_dump($tsparis);

给予int(1644607196);见 online demo

这为您提供了一个标准的 Unix 时间戳,您可以使用任何您想要生成新输出的内容对其进行处理。