我在项目中使用Cordova 2.9。
我使用Moment.js处理大量日期/时间格式,因为应用程序以英语和普通话显示文本。
我有一个功能请求,询问如果设备时间格式为12小时或24小时格式,那么应用程序应该反映这一点。
目前我们全程使用24小时格式。
有没有办法在设备中设置时间格式,然后用它来设置应用程序级别的时间格式?
答案 0 :(得分:2)
你需要编写一个插件来检测时间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"));
<强>的Android 强>
String value = android.provider.Settings.System.getString(context.getContentResolver(), android.provider.Settings.System.TIME_12_24);
答案 1 :(得分:2)
你可以只使用内置的globalization plugin.如果你跑来跑去,
navigator.globalization.dateToString(
new Date(),
function (date) { alert('date: ' + date.value + '\n'); },
function () { alert('Error getting dateString\n'); },
{ formatLength: 'short', selector: 'date and time' }
);
date.value
将保存一个dateString,用于显示时间格式(只需检查&#34; AM&#34;或&#34; PM&#34;是否在字符串中)。