رائع: لا يتم حساب التواريخ بشكل صحيح؟ باستخدام TimeCategory
سؤال
هل يمكن لأي شخص أن يخبرني لماذا لا يتم حسابها بشكل صحيح. أحاول إضافة ثانية واحدة إلى ذلك الوقت ويبدو أنه يضيف 60 ميلي ثانية عند تطبيق التنسيق؟
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")
انتاج:
تم إنشاءها من مجلة الأخيرة في هذا الرد: 2007-03-29T23: 19: 52.073
DateBeforechange: 2007-03-30T00: 13: 52.013
التاريخ بعد التغيير: 2007-03-30T12: 13: 53.013
لا أستطيع معرفة ذلك؟ !!
هتاف ، - ريتشارد
المحلول
HH
تعني "ساعة في اليوم (0-23)" ، في حين hh
تعني "ساعة في AM/PM (1-12)".
انظر SimpleDateFormat
apidoc للرجوع (SimpleDateFormat
يستخدم تحت الغطاء).
لا تنتمي إلى StackOverflow