【问题标题】: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 代码。

【问题讨论】:

标签: javascript android ios cordova ionic-framework


【解决方案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 中的插件开发 thisAndroidIOS

【讨论】:

    【解决方案2】:

    我会为此使用普通的 javascript:

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

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

    然后对照地区地图及其时间格式检查navigator.language

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-21
        • 2013-02-26
        • 2018-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多