获取位置日期格式

Get location date format

如何通过Carbon库获取用户所在国家的日期格式?例如,下面的代码为我提供了该地区的 iso 格式。

 Carbon::now()->locale('tr_TR')->getIsoFormats();

此代码给出了该地区使用的 ISO 格式。

array:6 [
  "LT" => "HH:mm"
  "LTS" => "HH:mm:ss"
  "L" => "DD.MM.YYYY"
  "LL" => "D MMMM YYYY"
  "LLL" => "D MMMM YYYY HH:mm"
  "LLLL" => "dddd, D MMMM YYYY HH:mm"
]

我应该使用什么函数才能将其输出为 d.m.Y 而不是 "L" => "DD.MM.YYYY " 而不是 ISO 格式。

我相信你可以像这样使用 l 作为你的格式。

$date = Carbon::parse('2022-05-15')->locale('tr_TR');
echo $date->isoFormat('l');

在这里您可以查看 Carbon 对每种 ISO 格式的作用:

https://github.com/briannesbitt/Carbon/blob/master/src/Carbon/Traits/Date.php#L1907

如果这是您期望的输出格式,其中一些在 DateTime::format 中具有等效代码,但所有代码都没有等效代码。例如 DateTime::format 的格式为序数 st / nd / th 但它只有英文,而 ISO 格式 Do 表示天数与序数当前语言(对于 tr_TR 语言环境可以是 inci)。

这意味着您可以对 DateTime::format 的 ISO 格式进行近似映射,但这不会完全匹配。