java - 将日期转换为毫秒时遇到问题

标签 java android

在我的 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();

}

问题:我得到 1290455340800(2010 年 11 月 22 日 14:49:00 EST)2010 年 11 月 22 日 19:49:00 EST(即 5 小时前)

仅供引用,我目前在印度时区,但可以从任何国家/地区执行应用程序。那么如何将日期/时间精确转换为毫秒?

最佳答案

这一行

c.setTimeZone(TimeZone.getTimeZone("UTC"));

可能是导致问题的原因。无需设置时区,因为已使用当前默认值。

关于java - 将日期转换为毫秒时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4286040/

相关文章:

java - 将 SOAPMessage 对象转换为 Java 中 XmlType 注释类的实例

java - 如何在 Spring Boot 单元测试中使用依赖注入(inject)?

android - 如何使用 'RotateDrawable'?

android - 为什么我在运行 `NoClassDefFoundError: org/codehaus/groovy/runtime/typehandling/ShortTypeHandling` 时得到 `./gradlew tasks` ?

c# - 解析非标准 JSON

java - Google App Engine Java 错误

javascript - 在一个云函数中从firebase数据库检索多个数据

android - 当其他用户登录Android时如何从 Realm 中删除用户数据

android - 标记没有从 mapV2 android 中删除

java - 如何获取父基类对象super.getClass()