一:NetUtils–主要用代码来获取本机Ip地址
public class NetUtils{
private static Logger logger = LoggerFactory.getLogger(NetUtils.class);
//获取本机IP地址
public static List<String> getLocalIpAddr(){
List<String> ipList = new LinkedList<>();
try{
//1获取网络接口们
Enumeration<NetworkInterface> interfaces = NetWorkInterface.getNetworkInterfaces();
while(interfaces.hasMoreElements()){
NetworkInterface ni = interfaces.nextElement();
//1:得到 Inet 地址
Enumeration<InetAddress> ipAddrEnum = ni.getInetAddresses();
while( ipAddrEnum.hasMoreElements() ){
InetAddress addr = ipAddrEnum.nextElement();
if(addr.isLoopbackAddress() == true ){ continue;}
String ip = addr.getHostAddress();//得到ip
if(ip.indexof(":") != -1){ continue;} //为了跳过IPv6 addr
ipList.add(ip);
}
}
//最后对ip列表进行排序
Collections.sort(ipList);
}catch(Exception e ){throw new RunTimeException("Failed to get local ip list");}
return ipList;
}
//main方法测试
public static void main(String args[]){
List<String> addrSet = getLocalIpAddr();
for(String ip : addrSet){ System.out.println("Local Ip:"+ip);}
}
}
二:DateUtils,日期处理类
public class DateUtils extends org.apache.commons.lang.time.DateUtils{
private static List<String> patterns = new ArrayList<>();
//静态代码块(随类加载而加载,并且只执行一次)
static {
patterns .add("M/d/yyyy HH:mm:ss");
patterns .add("M/d/yyyy");
patterns .add("yyyy-MM-dd HH:mm:ss");//最常用吧
patterns .add("yyyy-MM-dd HH:mm");
patterns .add("yyyy-MM-dd");
patterns .add("yyyy-MM");
patterns .add("yyyy/MM/dd HH:mm:ss");
patterns .add("yyyy/MM/dd HH:mm");
patterns .add("yyyy/MM/dd HH:mm");
patterns .add("yyyy/MM/dd");
patterns .add("yyyy/MM");
patterns .add("yyyyMMdd HH:mm:ss");
patterns .add("yyyyMMdd HH:mm");
patterns .add("yyyyMMddHHmmss"); //有时间会显示这种?、
patterns .add("yyyyMMddHHmm");
patterns .add("yyyyMMdd");
patterns .add("yyyyMM");
patterns .add("yyyy");
}
//下面2行代码要放在静态代码块下面, 否则拿不到patterns
//静态代码块,静态变量按声明顺序初始化
public static Date MIN_DATE=toDate("1971");
public static Date MAX_DATE=toDate("3000");
//1:String类型日期转换为Date类型
(一般前端穿的日期是String类型,保存数据库要转换Date)
public static final Date toDate(String str){
Iterator<String> it = patterns.iterator();