我实现了一个可滚动的视图,每个视图都有一个带有标题,日期和时间(以特定格式)和语言的视图。 我想以下面提到的语言显示日期和时间,并更新该国家/地区的当地时间,例如,日期和时间以德语显示,因此显示的日期和时间应为德国的时区。但我似乎无法这样做。有什么建议吗?
这是我的.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 :(得分: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