问题描述
我需要根据手机设置(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