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

r6hnlfcb  于 2023-03-21  发布在  Ionic
关注(0)|答案(4)|浏览(144)

是否可以检测到用户的计算机使用的是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
}

请建议任何 cordova 插件或javascript代码,这将提供我的系统时间格式的iOS和Android。

7z5jn7bk

7z5jn7bk1#

使用android和ios cordova应用程序插件代码和信息
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 this或AndroidIOS中的插件开发

ej83mcc0

ej83mcc02#

我会使用正常的javascript:

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

工程在每一个现代浏览器,它应该工作在任何 cordova 应用程序以及。
然后对照locale及其时间格式的Map检查navigator.language

wfsdck30

wfsdck303#

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

zlhcx6iw

zlhcx6iw4#

在2023年也要解决这个问题。
尝试在电容器项目下使用https://github.com/greghuels/cordova-plugin-24hour-setting,但运气不佳。使用“npm install cordova-plugin-24 hour-setting”可以很好地安装它,但无法在代码中引用它。
另一方面,JS方法不起作用。
谢谢

相关问题