我在項目中使用科爾多瓦2.9。在科爾多瓦獲取設備時間格式
我使用Moment.js處理大量的日期/時間格式,因爲應用程序顯示英文和中文文本。
我有一個功能請求,要求如果設備時間格式是12小時或24小時格式,那麼應用程序應該反映這一點。
目前我們全程使用24小時制。
有沒有辦法獲得在設備中設置的時間格式,然後用它來設置應用程序級別的時間格式?
我在項目中使用科爾多瓦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"));
的Android
String value = android.provider.Settings.System.getString(context.getContentResolver(), android.provider.Settings.System.TIME_12_24);
你可以科爾多瓦的內置globalization plugin.如果るn表示例如,
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將顯示的時間格式(只檢查是否「AM」或「PM」是字符串中)。
謝謝。這正如我所料,Cordova API中沒有任何東西。欣賞先機。 – RyanP13
@ RyanP13你爲這個問題寫了一個插件嗎? –
對於那些有興趣的人,我只爲iOS創建了一個插件(現在)https://github.com/greghuels/cordova-plugin-24hour-setting –