在科尔多瓦中获取设备时间格式



我正在一个项目中使用 Cordova 2.9。

我使用 Moment.js 来处理许多日期/时间格式,因为应用程序以英语和普通话显示文本。

我有一个功能请求,要求如果设备时间格式是 12 小时或 24 小时格式,那么应用程序应该反映这一点。

目前,我们始终使用24小时格式。

有没有办法在设备中设置时间格式,然后使用它在应用程序级别设置时间格式?

您需要编写一个插件来检测时间 forma.in IOS 通过目标 C 我们可以检测设备时间格式,与在 Java (Android) 中相同。 因此,请检查下面的代码并编写一个插件。

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

对于插件开发,请检查此或安卓或IOS

你可以只使用cordova内置的全球化插件。例如,如果您运行,

navigator.globalization.dateToString(
    new Date(),
    function (date) { alert('date: ' + date.value + 'n'); },
    function () { alert('Error getting dateStringn'); },
    { formatLength: 'short', selector: 'date and time' }
);

date.value将保存一个 dateString,该字符串将显示时间格式(只需检查字符串中是否有"AM"或"PM")。

相关内容

  • 没有找到相关文章

最新更新