一、前言
在开发过程中,特别是维护老系统,有时候想使用的工具类却使用不了。又要重新造轮子。所以准备点工具类代码是必须的,无奈之举。
二、JSON数据转换
String content = cdfQhOrderResModel.getContent();
List<CdfQHOrderInfo> CdfQHOrderInfoList = null;
if (StringUtils.isNotBlank(content)) {
JSONObject obj = JSONObject.parseObject(content);
CdfQHOrderInfoList = JSONArray.parseArray(obj.getString("orders_info"), CdfQHOrderInfo.class);
}
}
}
String content = cdfQhOrderResModel.getContent();
List<CdfQHOrderInfo> CdfQHOrderInfoList = null;
if (StringUtils.isNotBlank(content)) {
JSONObject obj = JSONObject.parseObject(content);
CdfQHOrderInfoList = JSONArray.parseArray(obj.getString("orders_info"), CdfQHOrderInfo.class);
}
}
}
三、当前时间10分钟前
/**
* 获取当前时间,格式为:yyyy-MM-dd HH:mm:ss
*
* @return
*/
private static String getDateStr() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return df.format(new Date());
}
/**
* 获取当前时间的10分钟前时间 格式为:yyyy-MM-dd HH:mm:ss
*
* @return
*/
private static String getLast10MinStr() {
Date now = new Date();
Date now_10 = new Date(now.getTime() - 600000); // 10分钟前的时间
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 可以方便地修改日期格式
return dateFormat.format(now_10);
}
/**
* 获取当前时间,格式为:yyyy-MM-dd HH:mm:ss
*
* @return
*/
private static String getDateStr() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return df.format(new Date());
}
/**
* 获取当前时间的10分钟前时间 格式为:yyyy-MM-dd HH:mm:ss
*
* @return
*/
private static String getLast10MinStr() {
Date now = new Date();
Date now_10 = new Date(now.getTime() - 600000); // 10分钟前的时间
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 可以方便地修改日期格式
return dateFormat.format(now_10);
}
四、比较两个日期
/**
* @description: 两个String类型,按照日期格式对比
* eg:
* dateOne:2015-12-26
* dateTwo:2015-12-26
* dateFormatType: yyyy-MM-dd
* 返回类型:-1:dateOne小于dateTwo, 0:dateOne=dateTwo ,1:dateOne大于dateTwo
* @param dateOne
* @param dateTwo
* @param dateFormatType:yyyy-MM-dd / yyyy-MM-dd HH:mm:ss /等
* @return -1,0,1,100
* @throws
*/
public static int compareTime(String dateOne, String dateTwo , String dateFormatType){
DateFormat df = new SimpleDateFormat(dateFormatType);
Calendar calendarStart = Calendar.getInstance();
Calendar calendarEnd = Calendar.getInstance();
try {
calendarStart.setTime(df.parse(dateOne));
calendarEnd.setTime(df.parse(dateTwo));
} catch (ParseException e) {
e.printStackTrace();
return 100;
}
int result = calendarStart.compareTo(calendarEnd);
if(result > 0){
result = 1;
}else if(result < 0){
result = -1;
}else{
result = 0 ;
}
return result ;
}
/**
* @description: 两个String类型,按照日期格式对比
* eg:
* dateOne:2015-12-26
* dateTwo:2015-12-26
* dateFormatType: yyyy-MM-dd
* 返回类型:-1:dateOne小于dateTwo, 0:dateOne=dateTwo ,1:dateOne大于dateTwo
* @param dateOne
* @param dateTwo
* @param dateFormatType:yyyy-MM-dd / yyyy-MM-dd HH:mm:ss /等
* @return -1,0,1,100
* @throws
*/
public static int compareTime(String dateOne, String dateTwo , String dateFormatType){
DateFormat df = new SimpleDateFormat(dateFormatType);
Calendar calendarStart = Calendar.getInstance();
Calendar calendarEnd = Calendar.getInstance();
try {
calendarStart.setTime(df.parse(dateOne));
calendarEnd.setTime(df.parse(dateTwo));
} catch (ParseException e) {
e.printStackTrace();
return 100;
}
int result = calendarStart.compareTo(calendarEnd);
if(result > 0){
result = 1;
}else if(result < 0){
result = -1;
}else{
result = 0 ;
}
return result ;
}
五、生成卡号
public class MemberCardNoUtils {
// 随机类对象
private Random random = new Random();
// 创建一个私有的静态变量
private static MemberCardNoUtils dcNumberUtil = new MemberCardNoUtils();
// 生成会员卡号的方法
public String generateDCNumber(String pre) {
//保存生成的会员卡卡号
StringBuilder dcNumber = new StringBuilder(pre);
int number = 0;
for (int i = 0; i < 10; i++) {
// 0的ASCII码是48,9的ASCII码是57
number = random.nextInt(10) + 48;
dcNumber.append((char) number);
}
return dcNumber.toString();
}
// 用于返回私有的对象
public static MemberCardNoUtils getInstance() {
return dcNumberUtil;
}
public static void main(String[] args) {
//测试
System.out.println(MemberCardNoUtils.getInstance().generateDCNumber("88-"));
}
}
public class MemberCardNoUtils {
// 随机类对象
private Random random = new Random();
// 创建一个私有的静态变量
private static MemberCardNoUtils dcNumberUtil = new MemberCardNoUtils();
// 生成会员卡号的方法
public String generateDCNumber(String pre) {
//保存生成的会员卡卡号
StringBuilder dcNumber = new StringBuilder(pre);
int number = 0;
for (int i = 0; i < 10; i++) {
// 0的ASCII码是48,9的ASCII码是57
number = random.nextInt(10) + 48;
dcNumber.append((char) number);
}
return dcNumber.toString();
}
// 用于返回私有的对象
public static MemberCardNoUtils getInstance() {
return dcNumberUtil;
}
public static void main(String[] args) {
//测试
System.out.println(MemberCardNoUtils.getInstance().generateDCNumber("88-"));
}
}