是否有可能将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