如何从java中的unix时间戳中提取时间?

时间:2014-09-13 16:55:42

标签: java date unix-timestamp

我是java新手,我正在制作天气应用程序。

我以jSON格式从openweathermap服务器获取数据。以下是格式

 "sys":{  
      "type":1,
      "id":7758,
      "message":0.2194,
      "country":"India",
      "sunrise":1410569741,
      "sunset":1410614119
   },

我想从中提取日出和日落,但我想要的只是时间而不是日期。 以下是我的代码

DateFormat df = DateFormat.getDateTimeInstance();

            String sunrise= df.format(new Date(json.getJSONObject("sys").getLong("sunrise")*1000).getTime());
            String sunset = df.format(new Date(json.getJSONObject("sys").getLong("sunset")*1000).getTime());

我的代码问题在于它给了我时间和日期以及输出 " 2014年9月13日上午6:25:41"为了日出。类似的是日落。 ?

我如何提取" 6:25:41 AM"它?我只想要时间而不是年/月/日

2 个答案:

答案 0 :(得分:3)

您可以使用正确的格式:DateFormat.getTimeInstance()

答案 1 :(得分:2)

以这种方式试试

SimpleDateFormat df = new SimpleDateFormat("hh:mm:ss a",Locale.ENGLISH);
System.out.println(df.format(new Date()));

或者这样

DateFormat ddf = DateFormat.getTimeInstance(DateFormat.MEDIUM, Locale.ENGLISH);
System.out.println(ddf.format(new Date()));

指定区域设置可确保您的安全,请注意示例H的字母大小写,表示24小时制的一天中的小时,而h表示12小时制时钟中的小时。 refer