java 對於 Element UI 的 DateTimePicker : el-date-picker 在時區上的處理
- Element UI 的 DateTimePicker : el-date-picker 提供多樣的 Date Formats 格式
format | meaning | note | example |
---|---|---|---|
yyyy | year | 2017 | |
M | month | no leading 0 | 1 |
MM | month | 1 | |
MMM | month | Jan | |
MMMM | month | January | |
W | week | only for week picker's format; no leading 0 | 1 |
WW | week | only for week picker's format | 1 |
d | day | no leading 0 | 2 |
dd | day | 2 | |
H | hour | 24-hour clock; no leading 0 | 3 |
HH | hour | 24-hour clock | 3 |
h | hour | 12-hour clock; must be used with A or a; no leading 0 | 3 |
hh | hour | 12-hour clock; must be used with A or a | 3 |
m | minute | no leading 0 | 4 |
mm | minute | 4 | |
s | second | no leading 0 | 5 |
ss | second | 5 | |
A | AM/PM | only for format, uppercased | AM |
a | am/pm | only for format, lowercased | am |
timestamp | JS timestamp | only for value-format; binding value will be a number | 1483326245000 |
[MM] | No escape characters | To escape characters, wrap them in square brackets (e.g. [A] [MM]) | MM |
它提供多項的屬性 ( Attributes )來滿足 UI 上的需求,若沒有設定它的 Date Format ,它預設的 Date Formats 格式為 yyyy-mm-dd HH:mm:ss
。
<div class="row"> <div class="col-sm-6"> <el-form-item prop="activeDate" label="activeDate" > <el-date-picker v-model="formData.activeDate" type="datetime" placeholder="Select date and time" default-time="08:00:00" :picker-options="afterToday" > </el-date-picker> </el-form-item> </div> <div class="col-sm-6"> <el-form-item prop="inactiveDate" label="inactiveDate" > <el-date-picker v-model="formData.inactiveDate" type="datetime" placeholder="Select date and time" default-time="17:30:00" :picker-options="beforeToday"> </el-date-picker> </el-form-item> </div> </div>
當後送到主機時,資料型態為 JSON 類似: "activeDate":"2020-03-24T03:25:52.000Z"
,是有帶時區的時間。那麼在後端主機的 Java 程式要如何承接轉譯呢? 可以透過下列的程式碼即可。
/** * 取得 Element UI 的 el-date-picker 回傳值, 轉換成 Timestamp * @param elDatePicker * @return * @throws ParseException */ public Timestamp getTimestamp(Object elDatePicker) throws ParseException { if (Objects.isNull(elDatePicker)) { return null; } else { String strDate = elDatePicker.toString(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS"); df.setTimeZone(TimeZone.getTimeZone("GMT")); Date date = df.parse(strDate); return new Timestamp(date.getTime()); } }
你必須 登入 才能發表評論。