是否可以检测用户的机器是否正在使用12小时制(上午/下午)或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
}
请建议任何cordova插件或javascript代码,它们将为IOS和Android提供我的系统时间格式。
答案 0 :(得分: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"));
Android代码
String value = android.provider.Settings.System.getString(context.getContentResolver(), android.provider.Settings.System.TIME_12_24);
答案 1 :(得分:1)
我会使用普通的javascript:
var dateStringToLookAt = (new Date).toLocaleString();
适用于所有现代浏览器,它也适用于任何Cordova应用程序。
然后根据区域设置及其时间格式检查navigator.language
。
答案 2 :(得分:1)
我还需要这个项目,所以我构建了cordova-plugin-24hour-setting以支持Android和iOS。这是基于Kalpesh Kikani的有用答案。随意使用它。