簡體   English   中英

如何檢查Cordova應用程序是否在12(AM / PM)或24小時環境中運行

[英]How to check if Cordova app is running in a 12 (AM/PM) or 24 hour environment

是否可以檢測用戶的機器使用的是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代碼。

使用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 thisAndroidIOS中檢查插件開發

我會為此使用普通的javascript:

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

適用於所有現代瀏覽器,也應適用於任何Cordova應用。

然后對照地區地圖及其時間格式檢查navigator.language

我也需要一個項目來使用它,因此我建立了cordova-plugin-24hour-setting來支持Android和iOS。 這是基於Kalpesh Kikani的有用答案。 隨意使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM