2017-07-14 73 views
0

我已經實現了一個可滾動的視圖,每個視圖都具有標題,日期和時間(以特定格式)和語言的視圖。 我想用下面提到的語言顯示日期和時間,以及更新當地時間,例如日期和時間用德語顯示,所以顯示的日期和時間應該是德國的時區。但我似乎無法這樣做。任何建議爲什麼?moment.js加速器更改日期格式的語言

這是我的.xml文件

<Alloy> 
     <View class="container"> 
      <View class="titleClass"> 
       <Label class="titleLabelClass" backgroundColor="yellow" top="5%" onClick="nextController">moment.js Example</Label> 
      </View> 
      <ScrollableView class ="scrollableClass" backgroundColor="gray"> 
       <View> 
        <Label class = "info1">Displaying Date and Language using moment.js Library</Label> 
        <Label class="dateClass1" id="dateIdScroll1"></Label> 
        <Label class="languageClass1" id="langIDScroll1"></Label> 
       </View> 
       <View> 
        <Label class = "info2">Displaying Date and Language using moment.js Library</Label> 
        <Label class="dateClass2" id="dateIdScroll2"></Label> 
        <Label class="languageClass2" id="langIDScroll2"></Label> 
       </View> 
       <View> 
        <Label class = "info3">Displaying Date and Language using moment.js Library</Label> 
        <Label class="dateClass3" id="dateIdScroll3"></Label> 
        <Label class="languageClass3" id="langIDScroll3"></Label> 
       </View> 
       <View> 
        <Label class = "info4">Displaying Date and Language using moment.js Library</Label> 
        <Label class="dateClass4" id="dateIdScroll4"></Label> 
        <Label class="languageClass4" id="langIDScroll4"></Label> 
       </View> 
      </ScrollableView> 
     </View> 
     <View class="dateTimeFormatClass1" layout="horizontal" top="20%" backgroundColor="yellow"> 
      <Label class="formatClass1" id="format1"></Label> 
      <Label class="changedFormatClass1" id="changedFormat1"></Label> 
     </View> 
     <View class="dateTimeFormatClass2" layout="horizontal"> 
      <Label class="formatClass2" id="format2"></Label> 
      <Label class="changedFormatClass2" id="changedFormat2"></Label> 
     </View> 
     <View class="dateTimeFormatClass3" layout="horizontal"> 
      <Label class="formatClass3" id="format3"></Label> 
      <Label class="changedFormatClass3" id="changedFormat3"></Label> 
     </View> 
      <!-- <View top="30%" backgroundColor="yellow"> 
       <Button class="nextClass" onClick="nextController" top="5%" backgroundColor="red" title="next"></Button> 
      </View> --> 
    </Alloy> 

這是我的js文件

var args = $.args; 
var moment = require("alloy/moment"); 
// moment().format(); 
function nextController(e) { 
    var next = Alloy.createController('listviewPOC').getView(); 
    Alloy.Globals.parent.add(next); 
} 

function showTime() { 
    $.dateIdScroll1.text = moment().format('MMMM Do YYYY, h:mm:ss a'); 
    $.langIDScroll1.text = moment().locale("en"); 
    $.dateIdScroll2.text = moment().format('MMMM Do YYYY, h:mm:ss a'); 
    $.langIDScroll2.text = moment().locale(); 
    $.dateIdScroll3.text = moment().format('MMMM Do YYYY, h:mm:ss a'); 
    $.langIDScroll3.text = moment().locale(); 
    $.dateIdScroll4.text = moment().format('MMMM Do YYYY, h:mm:ss a'); 
    $.langIDScroll4.text = moment().locale(); 
} 
showTime(); 
setInterval(showTime, 500); 
+0

我不對加賽者有足夠的瞭解,無論如何你需要在德國的時區或德國的時區顯示結果嗎?請注意,默認情況下使用本地時間(並支持UTC),如果您需要支持不同的時區,您可以使用[時區時區](http://momentjs.com/timezone/) – VincenzoC

+0

我希望顯示不同的時區他們各自的語言在可滾動視圖的不同視圖中。第一個視圖將具有本地時區和語言英語,第二個視圖將具有德國的時區,並且將以德語顯示。因此,接下來的兩個意見將填補,但在不同的時區和他們各自的語言 – SylieC

回答

1

首先,設置moment.js lib添加到您所需的語言環境。您可以在alloy.js做到這一點:

var moment = require('alloy/moment'); 
moment.locale('de'); 

或者,如果你希望你的應用程序自動對其進行設置:

moment.locale(Ti.Locale.currentLanguage);

之後,你將要使用的localized format tokens只要有可能。

所以

$.dateIdScroll1.text = moment().format('MMMM Do YYYY, h:mm:ss a');

會變成這樣的:

$.dateIdScroll1.text = moment().format('LLLL');

如果您需要調整或修改場所,檢查了customization section

+0

嗨,亞當!上面提到的方法還沒有改變視圖顯示的日期和時間的語言。你能指導我通過這個嗎? – SylieC