diff --git a/packages/datetime-picker/index.vue b/packages/datetime-picker/index.js
similarity index 81%
rename from packages/datetime-picker/index.vue
rename to packages/datetime-picker/index.js
index 5d5379617..8b5fecaec 100644
--- a/packages/datetime-picker/index.vue
+++ b/packages/datetime-picker/index.js
@@ -1,66 +1,14 @@
-
-
-
-
-
diff --git a/packages/datetime-picker/utils.js b/packages/datetime-picker/utils.js
new file mode 100644
index 000000000..a153e6253
--- /dev/null
+++ b/packages/datetime-picker/utils.js
@@ -0,0 +1,29 @@
+export function isValidDate(date) {
+ return Object.prototype.toString.call(date) === '[object Date]' && !isNaN(date.getTime());
+}
+
+export function padZero(val) {
+ return `00${val}`.slice(-2);
+}
+
+export function times(n, iteratee) {
+ let index = -1;
+ const result = Array(n);
+
+ while (++index < n) {
+ result[index] = iteratee(index);
+ }
+ return result;
+}
+
+export function getTrueValue(formattedValue) {
+ if (!formattedValue) return;
+ while (isNaN(parseInt(formattedValue, 10))) {
+ formattedValue = formattedValue.slice(1);
+ }
+ return parseInt(formattedValue, 10);
+}
+
+export function getMonthEndDay(year, month) {
+ return 32 - new Date(year, month - 1, 32).getDate();
+}