2017-01-04 308 views
2

我必須從響應中提取時間戳值,並且必須將其作爲參數傳遞給下一個請求。 我從Regular Expression Extractor中提取了時間戳值。 時間戳值1481086800000 值傳遞的格式爲(Month/Date/Year HH:mm) - 12/07/2016 10:30JMeter:將提取的時間戳值轉換爲日期格式

請提供有關如何提取的時間戳值轉換成上述日期格式您的寶貴建議。

First JSR223 Sampler

First JSR223 Sampler

Debug Sampler

回答

4

以下代碼直接轉換到epoch timestampAKST timezone。無需評論中建議的兩個採樣器。

添加JSR223 Sampler,選擇Groovy並添加以下代碼:

import java.text.*; 
//long timeStamp = Long.parseLong(vars.get("time")); 
Date date = new Date(1481086800000); //replace the long value with timeStamp you captured. 
DateFormat formatter = new SimpleDateFormat("MM/dd/YYYY HH:mm"); 

TimeZone tzInAmerica = TimeZone.getTimeZone("America/Anchorage"); 
formatter.setTimeZone(tzInAmerica); 
String dateFormatted = formatter.format(date); 
vars.put("newDate", dateFormatted); //access new value using ${newDate}, in your script. 
log.info(dateFormatted); 

截圖參考:

enter image description here

+0

謝謝納文的幫助,因爲時間戳現在轉換爲日期,請您提供關於如何將日期(即12/07/2016 10:30)轉換爲另一個時區(即AKST阿拉斯加標準時間)的建議,因爲日期以GMT顯示。 – Vishal

+1

你可以試試這裏的答案http://stackoverflow.com/a/18026349/2575259。使用TimeZone類。 –

+0

嗨Naveen, 根據你的建議,我已經在我的腳本中使用了兩個代碼。 對於第一臺JSR223採樣器,我給出了輸入爲「1481086800000」。 日期已成功轉換爲12/07/2016 10:30:00 在第二個JSR223採樣器中,第一個腳本的輸出作爲輸入。 將日期轉換爲「2016/12/27 10:30:00」的AKST格式。 該應用程序需要日期爲12/06/2016 20:00(AKST時區),爲此我無法轉換。 請提供相同的建議。 請參閱附帶的屏幕截圖。 – Vishal

相關問題