在我的Android应用程序中,我试图将日期/时间转换为毫秒,检查以下代码:
public long Date_to_MilliSeconds(int day, int month, int year, int hour, int minute)
{
Calendar c = Calendar.getInstance();
c.setTimeZone(TimeZone.getTimeZone("UTC"));
c.set(year, month, day, hour, minute, 00);
return c.getTimeInMillis();
}问题:I将于2010年11月22日19:49(即5小时后)获得1290455340800(11月22日14:49:00 )。
FYI, I am Currently in Indian TimeZone, but application can be executed from any country. so How do i exact Convert the date/time into the Milliseconds?
发布于 2010-11-26 14:26:20
这条线
c.setTimeZone(TimeZone.getTimeZone("UTC"));很可能是引起问题的原因。不需要设置TimeZone,因为使用了当前的默认设置。
发布于 2010-11-26 14:25:17
我猜你是在给Date_to_MilliSeconds(22, 10, 2010, 19, 49)打电话。您的代码显式地使用UTC,因此它将把传递给UTC的任何内容作为UTC处理。
就像你的previous question (这让我很想把它作为一个副本来结束),你到底想做什么还不清楚。
如果要为方法提供本地时间,则需要指定本地时区。如果您需要在用户的时区中使用本地时间,请尝试将时区设置为TimeZone.getDefault() --尽管我希望这是默认的。如果您想为您的方法提供UTC时间,您需要指定一个UTC时区(正如您在这里)。
你到底想做什么?
发布于 2010-11-26 14:25:40
在这段代码中,您将得到从01/01/1970 00:00到11月22日19:49:00 EST 2010在UTC时区的时区的毫秒数。你为什么要把时区设置为UTC?
https://stackoverflow.com/questions/4286040
复制相似问题