时间转换,正则验证,后台map排序的小Demo

来源:互联网 发布:做金融网络销售的技巧 编辑:程序博客网 时间:2024/06/03 16:35
一.把 long 类型的时间戳,转化成日期类型
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");//要转化的日期格式
Date date = new Date(Long.valueOf("1493868521818"));
String format = sf.format(date);
System.out.println(format);

二.只知道年月(2017-04)得到这个月的第一天的 毫秒的时间戳
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String a = sf.parse("2017-04"+"-01 00:00:00").getTime()+"";

三.只知道年月,获取这个月的最后一天,11:59:59,毫秒的形式展示出来
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
calendar.set(Integer.parseInt("2017-04".split("-")[0]), Integer.parseInt("2017-04".split("-")[1])- 1,1);
int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
calendar.set(Calendar.DATE, maxDay);
Long c = sf.parse(sf1.format(calendar.getTime())+" 23:59:59").getTime();
System.out.println(c);

四.正则验证,验证当期字符串 中有没有 特殊字符
String str = "123456";
String regEx = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{【】‘;:”“’。,、?]"; //特殊字符串的数组
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
boolean a = m.find();
System.out.println(a); //如果 不包含 返回类的是 false

五.替换字符串,去除空格
String s = " 450010 2088847290700 ";
System.out.println(s);
String trim = s.trim(); //去除字符串,头部和尾部的空格
System.out.println(trim);
String replace = s.replace(" ", ""); //把字符串中所有的空格替换成""
System.out.println(replace);

六.获取一个月的最后一天和第一天
Calendar c = Calendar.getInstance();
c.set(Integer.parseInt(dateTime.split("-")[0]), Integer.parseInt(dateTime.split("-")[1]) -1, 1,0,0,0);
int maxDay = c.getActualMaximum(Calendar.DAY_OF_MONTH);
c.set(Calendar.DATE, maxDay);
endTime = sdf.format(c.getTime());
startTime = dateTime +"-01";

七.对 map<String,String[]> 里面的数据排序:
1.排序的类

public class MapKeyComparator implements Comparator<String>{


    @Override
    public int compare(String str1, String str2) {
    /*Pattern pattern = Pattern.compile("[0-9]*");
    String str11 = str1.replace("-", "");
    String str22 = str2.replace("-", "");
  if(pattern.matcher(str11).matches() && pattern.matcher(str22).matches()){
    if (Integer.parseInt(str11) > Integer.parseInt(str22)) {
return 0;
} else {
return 1;
}
}else{
return str1.compareTo(str2);
}*/
return str1.compareTo(str2);
    }
    
}

2.Map<String, String[]> sortMap = null;
sortMap = new TreeMap<String, String[]>(new MapKeyComparator());
sortMap.putAll(result);

原创粉丝点击