我试图在运行程序时生成一个 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/