Ver Fonte

add udf

xufei há 1 ano atrás
pai
commit
e6798f7e14
1 ficheiros alterados com 43 adições e 0 exclusões
  1. 43 0
      src/main/java/com/winhc/bigdata/udf/str_date_time.java

+ 43 - 0
src/main/java/com/winhc/bigdata/udf/str_date_time.java

@@ -0,0 +1,43 @@
+package com.winhc.bigdata.udf;
+
+import com.aliyun.odps.udf.UDF;
+import com.aliyun.odps.utils.StringUtils;
+
+import java.text.SimpleDateFormat;
+
+/**
+ * @Author: π
+ * @Description: 字符串转datetime格式
+ */
+public class str_date_time extends UDF {
+
+    public static final String FORMAT_YYYY_MM = "yyyy-MM-dd HH:mm:ss";
+
+    public String evaluate(String date) {
+        if (StringUtils.isBlank(date)) {
+            return null;
+        }
+        String d = date.split(" ")[0].replaceAll("年", "-").replaceAll("月", "-").replaceAll("日", "")+" 00:00:00";
+        try {
+            SimpleDateFormat dateFormat = new SimpleDateFormat(FORMAT_YYYY_MM);
+            dateFormat.parse(d);
+        } catch (Exception e) {
+            // do nothing
+            e.printStackTrace();
+            return null;
+        }
+        return d;
+    }
+
+
+    public static void main(String[] args) {
+        //String date = "2020-01-15 08:37:13";
+        //String date = "2020-01-15";
+        String date = "2099年12月31日";
+        str_date_time n = new str_date_time();
+        System.out.println(n.evaluate(date));
+    }
+
+}
+
+