时间格式根据 ionic 5 angular 9 中 phone 的时间设置而变化

Time format change according to time settings of phone in ionic5 angular9

我需要根据phone设置(android和IOS)来解析时间。如果我 select 24 小时在设备中,需要在应用程序中显示 24 小时日期,对于 12 小时 selection,需要在应用程序中显示 12 小时时间格式。如何通过代码找到我select在设备中输入的时间格式。

你说的是语言环境。我认为您希望使用 ion-datetime。 它解决了您需要的所有问题,默认情况下它将使用 phone.

上用户的区域设置配置

Important: ion-datetime will by default display values relative to the user's timezone. Given a value of 09:00:00+01:00, the datetime component will display it as 04:00:00-04:00 for users in a -04:00 timezone offset. To change the display to use a different timezone, use the displayTimezone property described below.

您需要的许多示例的所有信息都在这里: https://ionicframework.com/docs/api/datetime

干杯。

您可以使用以下插件:Globalization
这是文档的 Github 存储库:link

基本上你需要使用插件提供的getDatePattern方法。

navigator.globalization.getDatePattern(successCallback, errorCallback, options);

这将 returns 一个模式字符串,用于根据客户端的用户首选项格式化和解析日期。
例如:
如果设置为 en_US 语言环境,此示例将显示一个弹出对话框,其中包含如下模式的文本:M/d/yyyy h:mm a :

function checkDatePattern() {
    navigator.globalization.getDatePattern(
        function (date) { alert('pattern: ' + date.pattern + '\n'); },
        function () { alert('Error getting pattern\n'); },
        { formatLength: 'short', selector: 'date and time' }
    );
}

然后您可以使用该模式相应地显示您的日期和时间。
如果您需要了解有关日期时间模式的更多信息,请访问此 link

您还可以查看 Intl,它使您能够在不使用插件的情况下设置日期和时间的格式:
Intl.DateTimeFormat
Intl.DateTimeFormat options