是否有可能將float轉換爲Java中的時間?在Java中將float轉換爲時間?
我新的Web服務,我試圖調用一個簡單的日出/日落時間web服務,這樣做的WSDL是here
我通過服務緯度(34.0888),經度(-118.40612),日,月,年,我有值返回:
日出:13.6935135 日落:26.607845
但值的花車,沒有人知道爲什麼會是什麼?或者如果有可能從他們那裏弄出一段時間?我認爲這可能是unix時間,但我沒有太多運氣。
任何幫助表示讚賞,感謝
是否有可能將float轉換爲Java中的時間?在Java中將float轉換爲時間?
我新的Web服務,我試圖調用一個簡單的日出/日落時間web服務,這樣做的WSDL是here
我通過服務緯度(34.0888),經度(-118.40612),日,月,年,我有值返回:
日出:13.6935135 日落:26.607845
但值的花車,沒有人知道爲什麼會是什麼?或者如果有可能從他們那裏弄出一段時間?我認爲這可能是unix時間,但我沒有太多運氣。
任何幫助表示讚賞,感謝
Float sunriseFloat = new Float(sunrise);
Float sunsetFloat = new Float(sunset);
Date startDate = new Date(sunriseFloat.longValue());
Date endDate = new Date(sunsetFloat.longValue());
看來這不是Java的問題,你發現一個尚未得以接口web服務。我搜索了一個解決方案,我發現了幾個圖書館能夠計算日出和日落。例如,這是第一個結果:http://www.jstott.me.uk/jsuntimes/
這可能是相對於UTC的小時數。我會嘗試這樣的事:
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.add(Calendar.HOUR_OF_DAY, (int) sunrise);
calendar.set(Calendar.MINUTE, (sunrise * 60) % 60);
calendar.set(Calendar.SECOND, (sunrise * 3600) % 3600);
然後顯示要一個DateFormat
在時區的日期:
DateFormat fmt = new SimpleDateFormat();
fmt.setTimeZone(TimeZone.getTimeZone("Europe/Paris"));
System.out.println(fmt.format(calendar.getTime()));
看起來不像一件小事來計算... ...有一個完整的包裹處理,在這裏:https://github.com/mikereedell/sunrisesunsetlib-java
你確定那些不是雙打? – Woot4Moo
根據WSDL,它們是浮動的,但沒有任何文檔來表示它們代表的內容。一旦你知道它們代表什麼,轉換爲時間就會向前邁進 –
web服務返回浮動。我可以將它們分配給一個雙變量,但是我只得到13.093513488769531和26.607845306396484。 – ostegg548