|
@@ -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));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|