Jmeter +Java Calendar 类的时间操作

    xiaoxiao2021-04-12  30

    引言

           想用jmeter获取最近几个月或最近一段时间时间,而Java Calendar 类时间操作,这也许是创建和管理日历最简单的一个方案,示范代码很简单。由此百度到了Java Calendar 类的时间操作的一些文章。

    相关原文地址如下:

    http://blog.csdn.net/joyous/article/details/9630893

    http://chamcon.iteye.com/blog/2144433

    调试

    在此结合jmeter进行调试:

    如想获取“9个月后和4个月前的时间”或“获取50分钟后和50分钟前的时间”,则具体代码如下:

    import java.util.Date;   import java.text.SimpleDateFormat;   import java.text.DateFormat;   import java.text.ParseException;   import java.util.Calendar;  //显示当前时间 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date now = new Date(); System.out.println("当前时间:" + sdf.format(now)); log.info("当前时间为:"+sdf.format(now)); //获取9个月后和4个月前的时间 Calendar nowTime = Calendar.getInstance(); nowTime.add(Calendar.MONTH, 9);//9个月后的时间 log.info("3个月后的时间为:"+sdf.format(nowTime.getTime())); Calendar nowTime2 = Calendar.getInstance(); nowTime2.add(Calendar.MONTH, -4);//4个月前的时间 log.info("3个月前的时间为:"+sdf.format(nowTime2.getTime())); //获取50分钟后和50分钟前的时间 Calendar nowTime = Calendar.getInstance(); nowTime.add(Calendar.MINUTE, 30);//30分钟后的时间 log.info("30分钟后的时间为:"+sdf.format(nowTime.getTime())); Calendar nowTime2 = Calendar.getInstance(); nowTime2.add(Calendar.MINUTE, -30);//30分钟前的时间 log.info("30分钟前的时间为:"+sdf.format(nowTime2.getTime()));

    运行结果如下:

    扩展

    对于Java Calendar 类的时间操作的其他用法也进行了尝试,具体代码如下:

    import java.util.Date;   import java.text.SimpleDateFormat;   import java.text.DateFormat;   import java.text.ParseException;   import java.util.Calendar; 

    //显示当前时间 String str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date()); log.info("当前时间为:"+str);

    // 创建 Calendar 对象   Calendar calendar = Calendar.getInstance(); 

    // 显示年份   int year = calendar.get(Calendar.YEAR);   log.info("year is = " + String.valueOf(year));      // 显示月份 (从0开始, 实际显示要加一)  /*  * 在获取月份时,Calendar.MONTH + 1 的原因:  * Java中的月份遵循了罗马历中的规则:当时一年中的月份数量是不固定的,第一个月是JANUARY。  * 而Java中Calendar.MONTH返回的数值其实是当前月距离第一个月有多少个月份的数值,JANUARY在Java中返回“0”,所以我们需要+1。 */   int month = calendar.get(Calendar.MONTH);   log.info("month is = " + (month+1));      // 本周几 (实际显示要-1)  /*  * 在获取星期几 Calendar.DAY_OF_WEEK – 1 的原因:  * Java中Calendar.DAY_OF_WEEK其实表示:一周中的第几天,所以他会受到 第一天是星期几 的影响。  * 有些地区以星期日作为一周的第一天,而有些地区以星期一作为一周的第一天,这2种情况是需要区分的。 看下表的返回值  */  //一周第一天是否为星期天   boolean isFirstSunday = (calendar.getFirstDayOfWeek() == Calendar.SUNDAY);   //获取周几   int weekDay = calendar.get(Calendar.DAY_OF_WEEK);  //若一周第一天为星期天,则-1   if(isFirstSunday){       weekDay = weekDay - 1;       if(weekDay == 0){           weekDay = 7;       }   }  log.info("weekDay is = " + (weekDay));      // 今年的第 N 天   int DAY_OF_YEAR = calendar.get(Calendar.DAY_OF_YEAR);   log.info("DAY_OF_YEAR is = " + DAY_OF_YEAR);      // 本月第 N 天   int DAY_OF_MONTH = calendar.get(Calendar.DAY_OF_MONTH);   log.info("DAY_OF_MONTH = " + String.valueOf(DAY_OF_MONTH));      // 3小时以后   calendar.add(Calendar.HOUR_OF_DAY, 3);   int HOUR_OF_DAY = calendar.get(Calendar.HOUR_OF_DAY);   log.info("HOUR_OF_DAY + 3 = " + HOUR_OF_DAY);      // 当前分钟数   int MINUTE = calendar.get(Calendar.MINUTE);   log.info("MINUTE = " + MINUTE);    // 15 分钟以后   calendar.add(Calendar.MINUTE, 15);  MINUTE = calendar.get(Calendar.MINUTE);  log.info("MINUTE + 15 = " + MINUTE);    // 30分钟前   calendar.add(Calendar.MINUTE, -30);   MINUTE = calendar.get(Calendar.MINUTE);   log.info("MINUTE - 30 = " + MINUTE);      // 格式化显示   str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime());   log.info(str);      // 重置 Calendar 显示当前时间   calendar.setTime(new Date());   str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime());   log.info(str);      // 创建一个 Calendar 用于比较时间   Calendar calendarNew = Calendar.getInstance();      // 设定为 5 小时以前,后者大,显示 -1   calendarNew.add(Calendar.HOUR, -5);   log.info("时间比较:" + calendarNew.compareTo(calendar));      // 设定7小时以后,前者大,显示 1   calendarNew.add(Calendar.HOUR, +7);   log.info("时间比较:" + calendarNew.compareTo(calendar));      // 退回 2 小时,时间相同,显示 0   calendarNew.add(Calendar.HOUR, -2);   log.info("时间比较:" + calendarNew.compareTo(calendar));

    运行结果如下:

    转载请注明原文地址: https://ju.6miu.com/read-667915.html

    最新回复(0)