簡體   English   中英

如何更改日期格式以解析為url_string?

[英]How to change date format to parse into url_string?

我正在使用API​​通過Android(java)中的URL鏈接檢索出租車數據。

我能夠使用以下格式成功檢索數據。 但是,日期和時間2018-07-17T18%3A49%3A00是硬編碼的,我希望使用當前日期和時間動態地完成此操作。

String URL_STRING =
                "https://api.data.gov.sg/v1/transport/taxi-availability?date_time=2018-07-17T18%3A49%3A00";

我嘗試了以下方法,但無法動態獲取。 我收到來自API服務器的空響應。 如果您能闡明我做錯了什么,不勝感激。

Date currentTime = Calendar.getInstance().getTime();

SimpleDateFormat formatter = new SimpleDateFormat("YYYY-MM-DD'T'HH:MM:SS");

String URL_STRING =
                "https://api.data.gov.sg/v1/transport/taxi-availability?date_time=" + formatter.format(currentTime);

一種可能的解決方案是使用本機方法對URL進行編碼:

String encodedDate = URLEncoder.encode(myString, "utf-8");

另一個問題是格式設置有誤,請參考官方文檔 YYYY yyyy ,您的分鍾時間應為mm而不是MMMM為month )。 秒也是小寫 ,因為大寫是毫秒。

使用上面的方法,您的代碼將如下所示

Date currentTime = Calendar.getInstance().getTime();

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
String mDate = formatter.format(currentTime);

String URL_STRING = "https://api.data.gov.sg/v1/transport/taxi-availability?date_time=" + URLEncoder.encode(mDate, "utf-8");

我是在沒有編譯器的情況下編寫的,所以請告訴我它是否正確。

希望這可以幫助

Date currentTime = Calendar.getInstance().getTime();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
String URL_STRING ="https://api.data.gov.sg/v1/transport/taxi-availability?date_time=" + URLEncoder.encode(formatter.format(currentTime),"UTF-8");

確保處理URLEncoder.encode()的異常

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM