check time period
/**
* @author etao
* @description check last time selected
* @param timePeriod
* @param dateFormat
* @CreateDate 21 Dec 2016 13:50:39
* @modifyUser
* @modifyDate
* @comments
*/
public void checkLastTimeSelected(String timePeriod, String dateFormat){
List<WebElement> lastTimeSelectedList = page.getLastTimeSelectedList();
List<String> dateStr = new ArrayList<String>();
for (WebElement e : lastTimeSelectedList) {
String tempStr = e.getText().trim();
tempStr = tempStr.split(" ")[0];
dateStr.add(tempStr.trim());
}
isAllTimeCorrect(dateFormat, timePeriod, dateStr);
}
public void isAllTimeCorrect(String dateFormat, String timePeriod, List<String> date) {
for (String selectedDay : date) {
if(timePeriod.equals("Last Day")){
checkReportDateInTimeRange(Calendar.DAY_OF_MONTH, -1, dateFormat, selectedDay);
}else if (timePeriod.equals("Last Week")) {
checkReportDateInTimeRange(Calendar.DATE, -7, dateFormat, selectedDay);
}else if (timePeriod.equals("Last Month")) {
checkReportDateInTimeRange(Calendar.MONTH, -1, dateFormat, selectedDay);
}else if (timePeriod.equals("Last 2 Months")) {
checkReportDateInTimeRange(Calendar.MONTH, -2, dateFormat, selectedDay);
}else if (timePeriod.equals("Last 3 Months")) {
checkReportDateInTimeRange(Calendar.MONTH, -3, dateFormat, selectedDay);
}else if (timePeriod.equals("Last 6 Months")) {
checkReportDateInTimeRange(Calendar.MONTH, -6, dateFormat, selectedDay);
}else if (timePeriod.equals("Last 9 Months")) {
checkReportDateInTimeRange(Calendar.MONTH, -9, dateFormat, selectedDay);
}else if (timePeriod.equals("Last Year")) {
checkReportDateInTimeRange(Calendar.YEAR, -1, dateFormat, selectedDay);
}
}
}
public void checkReportDateInTimeRange(int calendar, int diff, String dateFormat ,String selectedDay) {
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat(dateFormat, Locale.US);
List<String> dateStr = new ArrayList<String>();
Calendar c = Calendar.getInstance();
dateStr.add(format.format(c.getTime()));//add date of today into string
dateStr.add(selectedDay);//add date of selected date into string
c.add(calendar, diff);
c.add(Calendar.DATE, -1);
dateStr.add(format.format(c.getTime()));//add date of last time range
Assert.assertTrue(checkDatePeriod(dateStr, dateFormat),"The last time selected date is not in the time range");
}
public boolean checkDatePeriod(List<String> date, String dateFormat) {
boolean flg = true;
DateFormat df = new SimpleDateFormat(dateFormat, Locale.US);
try {
for (int i = 1; i < date.size(); i++) {
Date d1 = df.parse(date.get(i - 1));
Date d2 = df.parse(date.get(i));
flg = flg && (d1.getTime() >= d2.getTime());
if (flg == false) {
System.out.println("******* In the third return");
System.out.println("=== date -1: " + date.get(i - 1).toString());
System.out.println("=== date: " + date.get(i).toString());
if (i + 1 < date.size()) {
System.out.println("=== date +1: " + date.get(i + 1).toString());
}
break;
}
}
return flg;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
check time period的更多相关文章
- 珍藏的数据库SQL基础练习题答案
自己珍藏的数据库SQL基础练习题答案 一,基本表的定义与删除. 题1: 用SQL语句创建如下三张表:学生(Student),课程表(Course),和学生选课表(SC),这三张表的结构如表1-1到表1 ...
- Verilog中的specify block和timing check
在ASIC设计中,有两种HDL construct来描述delay信息: 1)Distributed delays:通过specify event经过gates和nets的time,来描述delay; ...
- HDU 5908 Abelian Period 暴力
Abelian Period 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5908 Description Let S be a number st ...
- Java 8 – Period and Duration examples
Few examples to show you how to use Java 8 Duration, Period and ChronoUnit objects to find out the d ...
- -Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HO 解决办法
最近在使用maven,项目测试的时候出现了这么一个错.-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2 ...
- SQL Server 合并复制遇到identity range check报错的解决
最近帮一个客户搭建跨洋的合并复制,由于数据库非常大,跨洋网络条件不稳定,因此只能通过备份初始化,在初始化完成后向海外订阅端插入数据时发现报出如下错误: Msg 548, Level 16, S ...
- SharePoint 2103 Check user permission on list
一.需求: check user 对SharePoint list 的permission 代码如下: private static string GetListPermission(SPList l ...
- 用SVN check out项目后第三方库丢失
曾经用Cornerstone check out 一份项目下来,但其中第三方.a库始终丢失,项目报错,研究后找到了以下解决方法: 首先,Xcode默认忽略.a 文件.所以无法提交到svn服务器,但是很 ...
- SQL Check
一款实时性能监测工具 SQL Check? 一款实时监测SQL数据库性能.实时排查的问题的免费工具. 可以实时监测20个左右的SQL关键性能指标,每个指标都已图形化动态直播形式展现. 适合DBA.数据 ...
随机推荐
- C#面向对象设计模式纵横谈——3.Abstract Factory 抽象工厂(创建型模式)
动机(Motivation) 在软件系统中经常面临着“一系列相互依赖的对象”的创建工作,同时,由于需求变化,往往存在更多系列对象的创建工作.如何应对这种变化?如何绕过常规对象的创建,提供一种“封装机制 ...
- BZOJ 1227: [SDOI2009]虔诚的墓主人
1227: [SDOI2009]虔诚的墓主人 Time Limit: 5 Sec Memory Limit: 259 MBSubmit: 1078 Solved: 510[Submit][Stat ...
- jquery实现input输入框实时输入触发事件代码(点击历史记录也会触发)
$("#email").bind('input propertychange', function() { if(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0 ...
- Request —— 让 Node.js http请求变得超简单
github地址: https://github.com/request/request 安装: npm install request --save-dev
- linux下mnt目录作用
linux下mnt目录作用 一.mount 英文解释 登上; 爬上; 攀登; 骑上; 乘上; 跨上 可直接理解为“挂载” 挂接光驱.USB设备的目录,加载后,会在mnt里多出相应设备的目录.mnt是m ...
- wifi万能钥pc版提示手机未连接
关于PC版万能钥匙的用法 大部分人都是在“未连接到手机”再不知道怎么搞了 怎么连接到手机呢? 首先要把你的手机变成路由器 让电脑连上 这个都知道怎么搞吧 手机版万能钥匙有个一键让手机变成热点 再用电 ...
- zabbix3 设置邮件报警(五)
Zabbix邮件报警配置 一.安装sendmail或者postfix(安装一种即可) yum install sendmail #安装 service sendmail start #启动 chkco ...
- tomcat用root权限也起不来
昨晚把服务器弄的启动不了了,先来还原一下作案现场, 错误操作过程:替换classes目录下的某个目录,比如com,由于替换了classes文件,所以需要重启tomcat,在bin目录下执行sh sta ...
- TCP学习之三:客户端、服务端同步传输字符串
参考学习张子阳大神的博客:http://www.cnblogs.com/JimmyZhang/category/101698.html 一个客户端.发送一条消息 客户端: 服务端: 注意:Networ ...
- python多种格式数据加载、处理与存储
多种格式数据加载.处理与存储 实际的场景中,我们会在不同的地方遇到各种不同的数据格式(比如大家熟悉的csv与txt,比如网页HTML格式,比如XML格式),我们来一起看看python如何和这些格式的数 ...