我需要根据手机设置(android和IOS)解析时间。如果我在设备中选择 24 小时,需要在应用程序中显示 24 小时日期,对于 12 小时选择,需要在应用程序中显示 12 小时时间格式。如何通过代码找到我在设备中选择了哪种时间格式。
2 回答
你在谈论语言环境。我认为您正在寻找使用离子日期时间。它解决了您需要的所有问题,默认情况下它将使用电话上用户的区域设置配置。
重要提示:默认情况下,ion-datetime 将显示相对于用户时区的值。给定 09:00:00+01:00 的值,对于处于 -04:00 时区偏移量的用户,日期时间组件会将其显示为 04:00:00-04:00。要更改显示以使用不同的时区,请使用下面描述的 displayTimezone 属性。
许多样本所需的所有信息都在这里: https ://ionicframework.com/docs/api/datetime
干杯。
您可以使用以下插件:全球化
这是 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