Android:将秒数转换为年,日,小时,分钟,秒

时间:2017-06-20 08:47:40

标签: java android timestamp epoch

我正在使用已编码的JSON文件处理Android项目。

所以我得到了这个:

{
  "type": "Feature",
  "properties": {
    "mag": 1.29,
    "place": "10km SSW of Idyllwild, CA",
    "time": 1388620296020,
    "updated": 1457728844428
  }
}

我希望在年,日,小时和秒内转换time。 我知道有很多话题都在谈论我的问题,但我已经尝试过但没有成功。

5 个答案:

答案 0 :(得分:1)

Android 中,您可以使用ThreeTen Backport,这是Java 8新日期/时间类的绝佳后端,以及ThreeTenABP(更多关于如何使用它{ {3}})。

此API提供了一种处理日期的好方法,比过时的DateCalendar(旧类(DateCalendar和{{1}更好}}} here并且它们被新的API取代。)

要从时间戳值中获取日期(假设SimpleDateFormat是来自unix世纪的毫秒的数量),您可以使用1388620296020类:

org.threeten.bp.Instant

输出为// create the UTC instant from 1388620296020 Instant instant = Instant.ofEpochMilli(1388620296020L); System.out.println(instant); // 2014-01-01T23:51:36.020Z ,因为2014-01-01T23:51:36.020Z始终为UTC。如果您想将其转换为其他时区的日期/时间,可以使用Instant课程并创建org.threeten.bp.ZoneId

org.threeten.bp.ZonedDateTime

输出将为ZonedDateTime z = instant.atZone(ZoneId.of("Europe/Paris")); System.out.println(z); // 2014-01-02T00:51:36.020+01:00[Europe/Paris] (相同的UTC时刻转换为巴黎时区)。

请注意,API避免使用3个字母的时区名称(例如2014-01-02T00:51:36.020+01:00[Europe/Paris]ECT),因为它们是lots of problems。始终更喜欢使用全名(例如ambiguous and not standard定义的CSTEurope/Paris) - 您可以通过调用America/Los_Angeles获取所有可用名称。

如果您想以其他格式打印日期,可以使用ZoneId.getAvailableZoneIds()(请参阅IANA database查看所有可能的格式):

org.threeten.bp.format.DateTimeFormatter

答案 1 :(得分:0)

可以是类似的东西;

long jsondate = 1388620296020L;
Date dt = new Date (jsondate); 
SimpleDateFormat sd = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
System.out.println(sd.format(dt));

答案 2 :(得分:0)

试试这个

long uptime = 1388620296020;

long days = TimeUnit.MILLISECONDS
.toDays(uptime);
uptime -= TimeUnit.DAYS.toMillis(days);

long hours = TimeUnit.MILLISECONDS
.toHours(uptime);
uptime -= TimeUnit.HOURS.toMillis(hours);

long minutes = TimeUnit.MILLISECONDS
.toMinutes(uptime);
 uptime -= TimeUnit.MINUTES.toMillis(minutes);

long seconds = TimeUnit.MILLISECONDS
.toSeconds(uptime);

答案 3 :(得分:0)

这个更短:

    long lg=1388620296020l;
    Date date = new Date(lg);

答案 4 :(得分:0)

你有整数溢出。只需使用以下内容(在1000常量后注意“L”):

minHeight

看到这个: https://stackoverflow.com/a/5246444/7161543