【发布时间】:2017-10-11 19:11:40
【问题描述】:
我需要将“2017-01-01 00:00:00”传递给 URl,但我不能因为浏览器用 %20 表示 space character,所以我需要先将 2017-01-01 00:00:00 转换为 2017-01-01%2000:00:00。我可以通过拆分和其他方法轻松做到这一点,但如果 java 提供任何内置函数,我会感到困惑。
更新:
感谢宝贵的投票和回答,但URLEncoder.encode 转换
2017-01-01 00:00:00 到 2017-01-01+00%3A00%3A00 而不是 2017-01-01%2000:00:00 和 downvoters 提供的链接也没有帮助。
我需要用2017-01-01 00:00:00将这个日期保存在磁盘上,我不想再次解码它,而且在服务器上也有严格的正则表达式检查,只允许这种特定格式,他们不关心urldecode所以我的选择是使用该给定格式,即“2017-01-01%2000:00:00”,仅此而已;
当然,我可以用 %20 对空格进行简单的替换,一切都会好起来的,然后我再次询问是否有任何 java 函数只能进行这种转换,例如我们是否可以提供格式并将格式化的值返回给我们。这听起来可能很愚蠢,然后我又问这是否可能。
【问题讨论】:
-
您的输入是纯
String还是Date或LocalDateTime等时间对象?