'Get location date format
How can I get the date format of the user's country through the Carbon library? For example, the code below brings me the iso formats of that region.
Carbon::now()->locale('tr_TR')->getIsoFormats();
This code gives the ISO format used in that region.
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"
]
What function should I use so that I can output it as d.m.Y instead of "L" => "DD.MM.YYYY" instead of ISO format.
Solution 1:[1]
here you can check what Carbon does for each ISO format:
https://github.com/briannesbitt/Carbon/blob/master/src/Carbon/Traits/Date.php#L1907
Some of them have equivalent in DateTime::format if this is the format you expect as an output but all won't have an equivalent code. For instance DateTime::format has a format for the ordinal st / nd / th but it's only in English, while the ISO format Do means day number with ordinal of the current language (can be inci for tr_TR locale).
This means you can make an approximated mapping of what ISO format is for DateTime::format, but this won't be an exact match.
Solution 2:[2]
I believe you can use l as your format like this.
$date = Carbon::parse('2022-05-15')->locale('tr_TR');
echo $date->isoFormat('l');
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | KyleK |
| Solution 2 | Derek-B |
