Я пытаюсь определить формат даты (дд/мм/гггг, мм/дд/гггг, гггг/мм/дд) устройств iOS (iphone, ipad) в моем приложении React Native. Несмотря на выбор разных форматов в настройках устройства, мой код всегда возвращает дд/мм/гг.
Вот код, который я использую:
let locale = NativeModules.SettingsManager.settings.AppleLocale ||
NativeModules.SettingsManager.settings.AppleLanguages[0];
locale = locale.replace('_', '-');
try {
const formatter = new Intl.DateTimeFormat(locale, {
year: 'numeric',
month: '2-digit',
day: '2-digit',
});
const parts = formatter.formatToParts(new Date(2003, 1, 1)); // 1st Feb 2003
const formatParts = parts.map((part) => {
if (part.type === 'day') return 'dd';
if (part.type === 'month') return 'mm';
if (part.type === 'year') return 'yyyy';
return part.value;
});
const formatPattern = formatParts.join('');
global.deviceLocalDateTimeFormate = formatPattern;
console.log('Device Date Format Pattern:', formatPattern);
} catch (error) {
console.error('Error fetching date format:', error);
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... dd-mm-yyyy