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

一.把 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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值