java - 如何根据程序运行时生成URL?

标签 java date url stringbuilder

我试图在运行程序时生成一个 URL。以下是我目前的硬编码网址 -

private static final String TRANSACTION_URL = "http://mon.vip.host.com/reports/podding/Transaction?startTime=2014/07/30 00:00&endTime=2014/07/30 20:00&defaultDim=Name&defaultDim=Type&metric=TransactionDuration&percentile=95";

所以假设如果我在 7 月 30 日运行我的程序,那么 startTime 应该是

startTime=2014/07/30 00:00

并且 endTime 应该是程序当前运行的当前时间 -

endTime=2014/07/30 23:00

因此完整的网址将变为 -

private static final String TRANSACTION_URL = "http://mon.vip.host.com/reports/podding/Transaction?startTime=2014/07/30 00:00&endTime=2014/07/30 23:00&defaultDim=Name&defaultDim=Type&metric=TransactionDuration&percentile=95";

但是如果我在 7 月 31 日运行我的程序,那么 startTime 应该是

startTime=2014/07/31 00:00

并且 endTime 应该是程序当前运行的当前时间 -

endTime=2014/07/31 01:00 (suppose for now)

那么完整的网址将是 -

private static final String TRANSACTION_URL = "http://mon.vip.host.com/reports/podding/Transaction?startTime=2014/07/31 00:00&endTime=2014/07/31 01:00&defaultDim=Name&defaultDim=Type&metric=TransactionDuration&percentile=95";

下面是我现在使用硬编码网址的代码 -

private static final String TRANSACTION_URL = "http://mon.vip.host.com/reports/podding/Transaction?startTime=2014/07/30 00:00&endTime=2014/07/30 20:00&defaultDim=Name&defaultDim=Type&metric=TransactionDuration&percentile=95";   

public static void main(String[] args) throws IOException {

    // I am suppose to generate proper TRANSACTION_URL here and then pass to loadMetrics method

    List<ClientMetrics> clientMetrics = loadMetrics(TRANSACTION_URL);

    // some code here
}   

private static List<ClientMetrics> loadMetrics(String url) {
    String jsonString = restTemplate.getForObject(url, String.class);
    // some code here
}

如何根据运行 Java 程序的时间来创建正确的 url?

最佳答案

希望这是您所需要的。

    String TRANSACTION_URL = "http://mon.vip.host.com/reports/podding/Transaction?&defaultDim=Name&defaultDim=Type&metric=TransactionDuration&percentile=95";

    Calendar startDate = new GregorianCalendar();
    startDate.set(Calendar.MINUTE,0);
    Calendar endDate =(Calendar) startDate.clone();
    startDate.set(Calendar.HOUR_OF_DAY,0);

    DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm");
    String startTime = df.format(startDate.getTime());
    String endTime = df.format(endDate.getTime());

    System.out.println(TRANSACTION_URL+"&startTime="+startTime+"&endTime="+endTime);

关于java - 如何根据程序运行时生成URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25052529/

相关文章:

java - 已弃用方法 ObjectMapper.setFilters() 的替代方法

java - Android 如何在得到一个结果时停止递归函数

java - 谷歌地图最佳路径

java - 我想在我的 Maven 设置 xml 中设置两个镜像,需要帮助,不知道我在这里做错了什么

MySQL 5默认日期为空,无法插入日期= ''为什么?

c++ - 计算日历周的第一天

关于时区的java日期转换混淆

PHP 正在从我的 rtrim 函数中删除一个字母 "g",但不会删除其他字符

java - 从java中的URL读取UTF-8编码的XML

javascript - 在点后添加空格但不在 URL 中添加空格