MeterSphere获取任意时间格式进行时间与时间戳互转

举报
brucexiaogui 发表于 2021/11/25 23:28:13 2021/11/25
【摘要】 MeterSphere获取任意时间格式进行时间与时间戳互转 1.概述 在进行接口测试经常会碰到需要传入时间或时间戳参数,根据业务的需求时间和时间戳还要满足不同格式的需求。 例如传入的结束时间...

MeterSphere获取任意时间格式进行时间与时间戳互转

在这里插入图片描述

1.概述

在进行接口测试经常会碰到需要传入时间或时间戳参数,根据业务的需求时间和时间戳还要满足不同格式的需求。
例如传入的结束时间大于开始时间反之结束时间小于开始时间等等,这篇文章就来介绍如何获取特定格式的时间。

2.获取特定格式的时间

2.1.获取特定时间格式实例

  • 1.在接口请求中添加前置脚本,选择默认的beanshell语言。
  • 2.通过调用SimpleDateFormat方法,实现获取特定格式时间。

在这里插入图片描述

2.2.获取特定时间格式源码

import java.util.*;
import java.text.SimpleDateFormat;

public static void getFormDate() {
	//时间格式大写的HH代表24小时时间,小写的hh代表12小时时间。
    String val = (new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss-SSS")).format(new Date());
    log.info("当前日期:"+ val);
    vars.put("formDate", val);
}

getFormDate();

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

3.获取特定日期的时间

获取时间参数时,因业务需要时间可能是当前时间,过去某个时间,将来某个时间,我们就来个看菜碟下菜。

3.1.获取指定日期实例

  • 1.在接口请求中添加前置脚本,选择默认的beanshell语言。
  • 2.通过调用Calendar类提供的方法,获取指定日期。

在这里插入图片描述

3.2.获取指定日期源代码

import java.util.*;
import java.text.SimpleDateFormat;

public static void getFormDate() {
	//时间格式大写的HH代表24小时时间,小写的hh代表12小时时间。
    String form = "yyyy-MM-dd-hh-mm-ss-SSS";
    
    String dt = (new SimpleDateFormat(form)).format(new Date());
    
    SimpleDateFormat sdf = new SimpleDateFormat(form);
    // 获取日历对象
    Calendar calendar = Calendar.getInstance();
    // 当前日期赋给日历
	calendar.setTime(sdf.parse(dt));
	
    // 当前日期加一天
	calendar.add(Calendar.DAY_OF_MONTH, +1);
    // 输出日期
	String val = sdf.format(calendar.getTime()); 
    log.info("当前日期加一天:"+ val);
    vars.put("date", val);
    
    // 当前日期减一天
	calendar.add(Calendar.DAY_OF_MONTH, -1);
    // 输出日期
	String val = sdf.format(calendar.getTime()); 
    log.info("当前日期减一天:"+ val);
    vars.put("date", val);
    
    // 当前日期加一个月
	calendar.add(Calendar.MONTH, +1);
    // 输出日期
	String val = sdf.format(calendar.getTime()); 
    log.info("当前日期加一个月:"+ val);
    vars.put("date", val);
    
    // 当前日期减一个月
	calendar.add(Calendar.MONTH, -1);
    // 输出日期
	String val = sdf.format(calendar.getTime()); 
    log.info("当前日期减一个月:"+ val);
    vars.put("date", val);
    
    // 当前日期加一个小时
	calendar.add(Calendar.HOUR_OF_DAY, +1);
    // 输出日期
	String val = sdf.format(calendar.getTime()); 
    log.info("当前日期加一个小时:"+ val);
    vars.put("date", val);
    
    // 当前日期减一个小时
	calendar.add(Calendar.HOUR_OF_DAY, -1);
    // 输出日期
	String val = sdf.format(calendar.getTime()); 
    log.info("当前日期减一个小时:"+ val);
    vars.put("date", val);
}

getFormDate();

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59

4.时间转为时间戳

接口测试过程中传递时间或时间戳格式根据接口接收的类型决定,因此需要灵活的在时间和时间戳转换。.

4.1.时间转时间戳实例

这个实例优点是可以根据需求根据指定格式的时间转换为时间戳,满足特殊需求。

在这里插入图片描述

4.2.时间转时间戳源代码

import java.util.*;
import java.text.SimpleDateFormat;

public static void getFormDate() {
    // 根据需求转换指定时间格式的时间戳
    String form = "yyyy-MM-dd-hh-mm-ss-SSS";
    
    String dt = (new SimpleDateFormat(form)).format(new Date());
    SimpleDateFormat sdf = new SimpleDateFormat(form);
    String val = String.valueOf(sdf.parse(dt).getTime()/1000);

    log.info("时间转时间戳:"+ val);
    vars.put("date", val);
}

getFormDate();

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

4.3.指定日期转换时间戳

import java.util.*;
import java.text.SimpleDateFormat;

public static void getName() {
    String form = "yyyy-MM-dd-hh-mm-ss-SSS";
    String dt = (new SimpleDateFormat(form)).format(new Date());
    SimpleDateFormat sdf = new SimpleDateFormat(form);
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(sdf.parse(dt));
    //当前日期加一天转为时间戳
    calendar.add(Calendar.DAY_OF_MONTH, +1);
    String cl = sdf.format(calendar.getTime()); 
    String val = String.valueOf(sdf.parse(cl).getTime()/1000);

    log.info("结束日期:"+ val);
    vars.put("endTime", val);
}

getName();

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/115010690

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。