UtilFun.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package com.api.common;
  2. import org.slf4j.Logger;
  3. import org.slf4j.LoggerFactory;
  4. import javax.servlet.http.HttpServletRequest;
  5. import java.text.DateFormat;
  6. import java.text.ParseException;
  7. import java.text.SimpleDateFormat;
  8. import java.util.Calendar;
  9. import java.util.Date;
  10. import java.util.List;
  11. /**
  12. * Created by wanghuiwen on 17-2-23.
  13. */
  14. public class UtilFun {
  15. static Logger logger = LoggerFactory.getLogger("util");
  16. public static final String YYYYMMDDHHMMSS="yyyy-MM-dd HH:mm:ss";
  17. public static final String YYYYMMDDHHMMSS3="yyyyMMddHHmmss";
  18. public static final String YYYYMMDD2="yyyy/MM/dd";
  19. public static final String YMD="yyyy-MM-dd";
  20. public static final String HHMMSS = "HH:mm:ss";
  21. /**
  22. * 判断list不为
  23. *
  24. * @param list list
  25. * @return 为空返回true
  26. */
  27. public static boolean isEmptyList(List list) {
  28. return list == null || list.size() <= 0;
  29. }
  30. /**
  31. * 判断str不为
  32. *
  33. * @param str str
  34. * @return 为空返回true
  35. */
  36. public static boolean isEmptyString(String str) {
  37. return str == null || str.equals("");
  38. }
  39. public static String getIpAddr(HttpServletRequest request) {
  40. String ip = request.getHeader("x-forwarded-for");
  41. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  42. ip = request.getHeader("Proxy-Client-IP");
  43. }
  44. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  45. ip = request.getHeader("WL-Proxy-Client-IP");
  46. }
  47. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  48. ip = request.getRemoteAddr();
  49. }
  50. return ip;
  51. }
  52. public static String getIP(HttpServletRequest request) {
  53. String ip = request.getHeader("x-forwarded-for");
  54. if (!checkIP(ip)) {
  55. ip = request.getHeader("Proxy-Client-IP");
  56. }
  57. if (!checkIP(ip)) {
  58. ip = request.getHeader("WL-Proxy-Client-IP");
  59. }
  60. if (!checkIP(ip)) {
  61. ip = request.getRemoteAddr();
  62. }
  63. return ip;
  64. }
  65. private static boolean checkIP(String ip) {
  66. return ip != null && ip.length() != 0 && !"unkown".equalsIgnoreCase(ip)
  67. && ip.split(".").length == 4;
  68. }
  69. public static String DateToString(Date date,String fromat){
  70. SimpleDateFormat sdf = new SimpleDateFormat(fromat);
  71. return sdf.format(date);
  72. }
  73. public static Date StringToDate(String datestr,String formatstr){
  74. DateFormat format= new SimpleDateFormat(formatstr);
  75. try {
  76. Date date =format.parse(datestr);
  77. return date;
  78. } catch (ParseException e) {
  79. logger.error("日期转换错误",e);
  80. return null;
  81. }
  82. }
  83. public static Date addDay(String date,int day){
  84. return addDay(StringToDate(date,YYYYMMDDHHMMSS),day);
  85. }
  86. public static Date addDay(String date,int day,String fromat){
  87. return addDay(StringToDate(date,fromat),day);
  88. }
  89. public static Date addDay(Date date,int day){
  90. Calendar calendar = Calendar.getInstance();
  91. calendar.setTime(date);
  92. calendar.add(Calendar.DATE,day);
  93. return calendar.getTime();
  94. }
  95. /**
  96. * 首字母大
  97. * @param str start
  98. * @return str
  99. */
  100. public static String upperFristCase(String str) {
  101. char[] ch = str.toCharArray();
  102. if (ch[0] >= 'a' && ch[0] <= 'z') {
  103. ch[0] = (char) (ch[0] - 32);
  104. }
  105. return new String(ch);
  106. }
  107. /**
  108. * 返回时间戳
  109. */
  110. public static Integer getIntTime(Date date){
  111. return Math.toIntExact(date.getTime() / 1000);
  112. }
  113. /**
  114. * 隨機時間
  115. * @param begin
  116. * @param end
  117. * @return
  118. */
  119. public static String random(int begin,int end){
  120. int r = (int) (begin + (Math.random() * (end - begin)));
  121. if(r>10) {
  122. return "0"+r+":00:00";
  123. }else {
  124. return r +":00:00";
  125. }
  126. }
  127. }