【问题标题】:JMeter: How to get date of last week starting from sunday till saturday?JMeter:如何从周日到周六获取上周的日期?
【发布时间】:2021-05-02 03:56:35
【问题描述】:

场景是我需要从上周日到周六以 yyyy-mm-dd HH:mm:ss 格式获取上周日期(从周日的最后一周到周六,日期将增加 1),同样明智的是获取过去 20 周(直到上周)的日期。

我怎样才能得到它?

【问题讨论】:

    标签: date jmeter timestamp increment


    【解决方案1】:

    您的要求不是很清楚,所以我只能提供一个通用的解决方案:

    1. 获取“最后一个星期日”

       def calendar = Calendar.instance
       def delta = Calendar.SUNDAY - calendar.get(Calendar.DAY_OF_WEEK)
       calendar.add(Calendar.DAY_OF_WEEK, delta)
       log.info('Last Sunday: ' + calendar.time.format("yyyy-MM-dd HH:mm:ss"))
      

    2. 获取过去 20 周的所有“日期”:

       def now = new Date()
       use(groovy.time.TimeCategory) {
           def twentyWeeksAgo = now - 30.weeks
           def duration = now - twentyWeeksAgo
           1.upto(duration.days, {
               twentyWeeksAgo = twentyWeeksAgo + 1.days
               log.info(twentyWeeksAgo.format('yyyy-MM-dd HH:mm:ss'))
           })
       }
      

    更多信息:

    【讨论】:

    • 我必须添加过去日期的条目,因此这是要求,过去 20 周并开始填写该日期的表格,然后像上周六一样明智地填写第二天。跨度>
    • ${__timeShift(yyyy-MM-dd HH:mm:ss,,-P20DT2M,,)} 这给了我过去 20 天的时间,例如 2021-04-13 12:08:37 当我为 2 个用户添加循环控制器,它将 2021-04-13 12:08:37 和 2021-04-13 12:08:37 显示为 2 个日期(都相同)。我想要的是 2021-04-13 12:08:37 和 2021-04-14 12:08:37 因为日期将增加 1 天等等
    • 这就是问题需要问的方式,谢谢。只需使用 __intSum()__counter() 函数组合,而不是像 ${__timeShift(yyyy-MM-dd HH:mm:ss,,-P${__intSum(21,-${__counter(FALSE,)},)}DT2M,,)} 这样的硬编码 20
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    • 1970-01-01
    • 1970-01-01
    • 2014-01-20
    • 2021-12-31
    • 1970-01-01
    相关资源
    最近更新 更多