我试图始终获得特定时区的特定时间
例如:Sao Paulo(-3)
我试过这个代码,我发现在stackoverflow上搜索:
// function to calculate local time
// in a different city
// given the city's UTC offset
function calcTime(city, offset) {
// create Date object for current location
d = new Date();
// convert to msec
// add local time zone offset
// get UTC time in msec
utc = d.getTime() + (d.getTimezoneOffset() * 60000);
// create new Date object for different city
// using supplied offset
nd = new Date(utc + (3600000*offset));
// return time as a string
return "The local time in " + city + " is " + nd.toLocaleString();
}
// get Sao Paulo time
Ti.API.info(calcTime('Sao Paulo', '-3'));
在我Ti.API.info()
上我将此作为回复:The local time in Sao Paulo is August 6, 2013, 3:31:52 PM GMT-03:00
...有办法只获得3:31:52
?
除此之外......正如这个功能所说...它始终是当地时间,它们显示该时区的时间......但是有人知道我怎么能总是得到圣保罗的时间而不是给local time
?因此,如果用户在手机上更改时间,则不会改变圣保罗的时间。
由于
答案 0 :(得分:1)
答案 1 :(得分:0)
如果您只是在谈论JavaScript,请参阅this answer。但是,我的猜测是Titanium有自己的方式将原生iOS或Android时区API映射到JavaScript。如果没有,它应该。我不太了解Titanium在这一点上进一步回答。
请记住,时区不能仅由偏移量表示。请参阅timezone tag wiki中的“时区!=偏移”。
特别是,圣保罗由IANA时区数据库中的America/Sao_Paulo
时区代表。该区域在-3和-2之间交替变换,如here所示。你不能简单地传入-3并期望它知道该怎么做。