如何检查 Cordova 应用程序是不是在 12 (AM/PM) 或 24 小时环境中运行
Posted
技术标签:
【中文标题】如何检查 Cordova 应用程序是不是在 12 (AM/PM) 或 24 小时环境中运行【英文标题】:How to check if Cordova app is running in a 12 (AM/PM) or 24 hour environment如何检查 Cordova 应用程序是否在 12 (AM/PM) 或 24 小时环境中运行 【发布时间】:2016-03-08 07:11:29 【问题描述】:是否可以检测用户的机器是使用 12 小时制 (am/pm) 还是 24 小时制
我试过下面的代码,但它不适用于chrome默认浏览器
var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));
var dateString = date.toLocaleTimeString();
if (dateString.match(/am|pm/i) || date.toString().match(/am|pm/i) )
//12 hour clock
else
//24 hour clock
请建议任何可以为 ios 和 android 提供我的系统时间格式的 cordova 插件或 javascript 代码。
【问题讨论】:
帮助完成这个:- ***.com/questions/566265/… 【参考方案1】:使用 android 和 ios cordova app 插件代码和信息
ios 代码
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
[formatter setDateStyle:NSDateFormatterNoStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
NSString *dateString = [formatter stringFromDate:[NSDate date]];
NSRange amRange = [dateString rangeOfString:[formatter AMSymbol]];
NSRange pmRange = [dateString rangeOfString:[formatter PMSymbol]];
BOOL is24h = (amRange.location == NSNotFound && pmRange.location == NSNotFound);
NSLog(@"IS 24 h format%@\n",(is24h ? @"YES" : @"NO"));
安卓代码
String value = android.provider.Settings.System.getString(context.getContentResolver(), android.provider.Settings.System.TIME_12_24);
检查 Cordova 中的插件开发 this 或 Android 或 IOS
【讨论】:
【参考方案2】:我会为此使用普通的 javascript:
var dateStringToLookAt = (new Date).toLocaleString();
适用于所有现代浏览器,它也应该适用于任何 Cordova 应用程序。
然后对照地区地图及其时间格式检查navigator.language
。
【讨论】:
【参考方案3】:我的一个项目也需要这个,所以我构建了cordova-plugin-24hour-setting 来支持 Android 和 iOS。这是基于 Kalpesh Kikani 的有用回答。随意使用。
【讨论】:
以上是关于如何检查 Cordova 应用程序是不是在 12 (AM/PM) 或 24 小时环境中运行的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Cordova Android 应用程序中禁用复制粘贴、拼写检查、自动完成
在 Cordova 中检查是不是在 iOS 或 Android 上注册了 URL 方案
错误:未找到插件“org.apache.cordova.barcodeScanner”,或者不是 CDVP 插件。检查 config.xml 中的插件映射
如何检查cordova/phonegap项目的cordova android版本?
Cordova 在循环内检查 appAvailability 失败。如何让循环等到 appAvailability.check 执行?