如何检查Cordova应用程序是在12(AM / PM)还是24小时环境中运行

时间:2016-03-08 07:11:30

标签: javascript android ios cordova ionic-framework

是否可以检测用户的机器是否正在使用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提供我的系统时间格式。

3 个答案:

答案 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);

检查Cordova中的插件开发thisAndroidIOS

答案 1 :(得分:1)

我会使用普通的javascript:

var dateStringToLookAt = (new Date).toLocaleString(); 

适用于所有现代浏览器,它也适用于任何Cordova应用程序。

然后根据区域设置及其时间格式检查navigator.language

答案 2 :(得分:1)

我还需要这个项目,所以我构建了cordova-plugin-24hour-setting以支持Android和iOS。这是基于Kalpesh Kikani的有用答案。随意使用它。