문제

can anyone tell me why these aren't being calculated correctly. I'm trying to add 1 second to the time and it seems to be adding 60 milliseconds when I apply formatting?

    import java.text.*
    import java.util.*
    import groovy.time.TimeCategory

    def xmlSlurper = new groovy.util.XmlSlurper()  

    // Get the previous total for number of journals
    def journalCountProp = testRunner.testCase.getTestStepByName("Properties")
    def journalCountTotal = journalCountProp.getPropertyValue( "journalCount" )
    log.info " 1. Previous JournalCount from last run: "+journalCountTotal

    def lastDateProp = testRunner.testCase.getTestStepByName("Properties")
    def lastDateHolder = lastDateProp.getPropertyValue( "journalQueryDate" )
    log.info " 2. Previous lastDate from last run: "+lastDateHolder 

    // Get the response for a given timeline
    def response = xmlSlurper.parseText(context.expand('${GET Journal using JournalDate#Response}'));
    def currentJournalCount = response.Journals.Journal.size()
    log.info " 3. Number of Journals in this Run: "+currentJournalCount

    //Getting the date from the last Journal (including an offset as the array count starts at 0)
    def lastDate = response.Journals.Journal[currentJournalCount-1].CreatedDateUTC
    log.info " 4. CreatedDate from last journal in this response: "+lastDate

    //log.info response.Journals.Journal[currentJournalCount-1].CreatedDateUTC

    def newdate = Date.parse("yyyy-MM-dd'T'HH:mm:ss.mmm",lastDate.toString())
    log.info "dateBeforeChange: "+newdate.format("yyyy-MM-dd'T'HH:mm:ss.mmm")
    use(TimeCategory){
     newdate = newdate+1.seconds
    }

    log.info "date After Change: "+newdate.format("yyyy-MM-dd'T'hh:mm:ss.mmm")
    log.info " 5. "+newdate.format("yyyy-MM-dd'T'HH:ss:mmm")

OUTPUT:

CreatedDate from last journal in this response: 2007-03-29T23:19:52.073
dateBeforeChange: 2007-03-30T00:13:52.013
date After Change: 2007-03-30T12:13:53.013

I can't figure it out?!!

Cheers, - Richard

도움이 되었습니까?

해결책

HH means "hour in a day (0-23)", whereas hh means "hour in am/pm (1-12)".
See the SimpleDateFormat ApiDoc for a reference (SimpleDateFormat is used under the hood).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top