时间格式根据ionic5 angular9中手机的时间设置而改变

问题描述

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

解决方法

您正在谈论语言环境。我想您正在寻找使用ion-datetime。 它可以解析您所需的所有内容,默认情况下,它将使用电话上用户的区域设置。

重要提示:ion-datetime默认情况下将显示相对于用户时区的值。给定值为09:00:00 + 01:00,datetime组件将为-04:00时区偏移量的用户将其显示为04:00:00-04:00。要将显示更改为使用其他时区,请使用下面介绍的displayTimezone属性。

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

干杯。

,

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

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

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

这将返回一个模式字符串,以根据客户端的用户偏好设置格式并解析日期。
例如:
如果设置为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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...