2017-03-09 26 views
1

關於將字符串屬性值設置爲日期格式,執行日期操作,然後將屬性值恢復爲字符串,只是有一個小問題。如何將字符串轉換爲日期並在轉換回字符串之前執行操作?

該計劃是,我有一個屬性被稱爲testRunner.testCase.setPropertyValue("LastModifiedDateTo")其中變量是測試2.目前的值是20170203,但這可以是任何動態值。

我想要做的是,如果if語句條件爲真:

  • 搶了testRunner.testCase.getPropertyValue("LastModifiedDateTo")(屬性值不搶高清Test1的變量,因爲其實我是想將屬性值改變自定義屬性)內

  • 轉換成字符串值20170203成日期格式「2017年2月3日」

  • 第二天添加的日期,以便它現在「2017年2月4日」

  • 轉換追溯到字符串格式「20170204」和設置屬性值

下面我只是在if語句正如我需要完成的值硬編碼的價值,但我想按照上述方法進行替換。有人可以幫助我如何完成轉換並設定日期請。

def test1 = testRunner.testCase.getPropertyValue("LastModifiedDateTo") 
def test2 = testRunner.testCase.getPropertyValue("LastModifiedTimeFrom") 
def test3 = testRunner.testCase.getPropertyValue("LastModifiedTimeTo") 

log.info test1 
log.info test2 
log.info test3 

if (test2 == "23:50:00" && test3 == "00:00:00") { 
    testRunner.testCase.setPropertyValue("LastModifiedDateTo", "20170204") 
    log.error "true" 
} else { 
    log.error "false" 
} 
+0

你想達到什麼?獲取日期,改變格式,不確定你需要改變陣型。你能澄清一下嗎?你也可能發現Opal答案可以解決你的問題。 – Rao

+0

@Rao我只想爲符合if條件的屬性值'LastmodifiedDateTo'添加一天 – BruceyBandit

+0

您提到將格式更改爲'yyyy-MM-dd'?那麼,真的不需要?其他屬性也需要嗎?不確定從上面的相關性? – Rao

回答

1

日期格式一般無關緊要,您想要做的是在給定日期添加一天。它可以通過以下方式與丹麥人(TimeCategory):

import groovy.time.TimeCategory 

def date = Date.parse('yyyyMMdd', '20170203') 

use(TimeCategory) { 
    date = date + 1.day 
} 

assert date.format('yyyyMMdd') == '20170204' 
+0

你可以重新配置你答案來匹配我的例子,因爲我已經嘗試了很多東西,並且無法讓它工作 – BruceyBandit

+1

@BruceyBandit什麼都不起作用? – Opal

+0

它工作歐泊,對不起,設法重構我需要它。非常感謝您的回答 – BruceyBandit