2017-07-14 3 views
0

Ich habe eine scrollbare Ansicht implementiert, wobei jede Ansicht Ansichten mit einer Überschrift, Datum und Uhrzeit (in einem bestimmten Format) und eine Sprache enthält. Ich möchte das Datum und die Zeit in der Sprache anzeigen, die ich unten erwähne, sowie die Ortszeit dieses Landes aktualisieren, sagen wir, dass Datum und Uhrzeit in Deutsch angezeigt wurden, also sollten Datum und Uhrzeit angezeigt werden von Deutschlands Zeitzone. aber ich kann es anscheinend nicht tun. Irgendwelche Vorschläge warum?moment.js Appcelerator ändert die Sprache des Datumsformats

Dies ist meine .xml-Datei

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

Das ist mein Js ist

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

ich nicht tun wissen Sie genug über appcelerator, müssen Sie Ergebnisse in deutscher Sprache oder in der deutschen Zeitzone anzeigen? Beachten Sie, dass dieser Moment standardmäßig die lokale Zeit verwendet (und UTC unterstützt). Wenn Sie verschiedene Zeitzonen unterstützen möchten, können Sie [moment-timezone] (http://momentjs.com/timezone/) verwenden. – VincenzoC

+0

Ich möchte verschiedene Zeitzonen anzeigen ihre jeweiligen Sprachen in verschiedenen Ansichten der scrollbaren Ansicht. Die erste Ansicht hat die lokale Zeitzone und die Sprache Englisch, die zweite die Zeitzone von Deutschland und diese wird in der Sprache Deutsch sein. Dementsprechend werden die nächsten zwei Ansichten gefüllt, aber in verschiedenen Zeitzonen und ihren jeweiligen Sprachen – SylieC

Antwort

1

erste Datei, stellen Sie die moment.js lib auf die gewünschte locale. Sie können dies in alloy.js tun:

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

Oder wenn Sie Ihre App möchte es automatisch:

moment.locale(Ti.Locale.currentLanguage);

Danach werden Sie die localized format tokens, wann immer möglich verwenden.

So

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

würde sich in so etwas wie:

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

Wenn Sie eine locale müssen zwicken oder zu ändern, besuchen Sie das customization section

+0

Hallo Adam! Die oben erwähnte Methode ändert noch nicht die Sprache des Datums und der Uhrzeit, die die Ansicht anzeigt. Kannst du mich durch dieses führen? – SylieC

Verwandte Themen