3

我需要根据手机设置(android和IOS)解析时间。如果我在设备中选择 24 小时,需要在应用程序中显示 24 小时日期,对于 12 小时选择,需要在应用程序中显示 12 小时时间格式。如何通过代码找到我在设备中选择了哪种时间格式。

4

2 回答 2

2

你在谈论语言环境。我认为您正在寻找使用离子日期时间。它解决了您需要的所有问题,默认情况下它将使用电话上用户的区域设置配置。

重要提示:默认情况下,ion-datetime 将显示相对于用户时区的值。给定 09:00:00+01:00 的值,对于处于 -04:00 时区偏移量的用户,日期时间组件会将其显示为 04:00:00-04:00。要更改显示以使用不同的时区,请使用下面描述的 displayTimezone 属性。

许多样本所需的所有信息都在这里: https ://ionicframework.com/docs/api/datetime

干杯。

于 2020-10-23T19:14:01.593 回答
2

您可以使用以下插件:全球化
这是 Github 文档库:链接

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

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

这将返回一个模式字符串,以根据客户的用户偏好格式化和解析日期。
例如:
如果设置为 en_US 语言环境,此示例将显示一个弹出对话框,其中包含诸如 pattern: 之类的文本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' }
    );
}

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

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

于 2020-10-23T19:28:17.560 回答