提交 c484f6e5 编写于 作者: B baiy 提交者: ninecents

添加毫秒转换支持

上级 50b37763
<template> <template>
<div> <div>
<Input v-model="current.input" :rows="7" type="textarea" placeholder="内容(标准时间(YYYY-MM-DD HH:II:SS)/时间戳(秒))"></Input> <Input v-model="current.input" :rows="7" type="textarea" placeholder="内容(标准时间(YYYY-MM-DD HH:mm:s[.SSS])/时间戳(秒/毫秒))"></Input>
<option-block> <option-block>
<FormItem> <FormItem>
<ButtonGroup> <ButtonGroup>
<Button type="primary" @click="handle()">转换</Button> <Button type="primary" @click="handle()">转换</Button>
<Button type="primary" @click="currentTime">当前时间</Button> <Button type="primary" @click="currentTime('second')">当前时间(秒)</Button>
<Button type="primary" @click="currentTime('millisecond')">当前时间(毫秒)</Button>
</ButtonGroup> </ButtonGroup>
</FormItem> </FormItem>
</option-block> </option-block>
...@@ -13,33 +14,75 @@ ...@@ -13,33 +14,75 @@
</div> </div>
</template> </template>
<script> <script>
import {formatDate} from "../../helper"; import moment from 'moment'
import { trim } from '../../helper'
let inputType = {
'normalSecond': 1,
'normalMillisecond': 2,
'unixSecond': 3,
'unixMillisecond': 4,
'error': 0,
}
export default { export default {
created() { created () {
this.current = Object.assign(this.current, this.$getToolData("input")) this.current = Object.assign(this.current, this.$getToolData('input'))
}, },
methods: { methods: {
handle() { handle () {
if (isNaN(this.current.input)) { let type = function (input) {
this.current.output = (Date.parse((new Date(this.current.input)).toString())) / 1000; if ((new RegExp(/^\d+-\d+-\d+ \d+:\d+:\d+$/)).test(input)) {
} else { return inputType.normalSecond
let newDate = new Date(); }
newDate.setTime(this.current.input * 1000); if ((new RegExp(/^\d+-\d+-\d+ \d+:\d+:\d+\.\d+$/)).test(input)) {
this.current.output = formatDate(newDate); return inputType.normalMillisecond
} }
this.$clipboardCopy(this.current.output); if ((new RegExp(/^\d{10}$/)).test(input)) {
this.$saveToolData(this.current); return inputType.unixSecond
}
if ((new RegExp(/^\d{13}$/)).test(input)) {
return inputType.unixMillisecond
}
return inputType.error
}(trim(this.current.input))
if (type === inputType.error) {
return this.$Message.error('输入时间格式错误')
}
switch (type) {
case inputType.normalSecond:
this.current.output = moment(this.current.input).format('X')
break
case inputType.normalMillisecond:
this.current.output = moment(this.current.input).format('x')
break
case inputType.unixSecond:
this.current.output = moment(parseInt(this.current.input)*1000).format('YYYY-MM-DD HH:mm:ss')
break
case inputType.unixMillisecond:
this.current.output = moment(parseInt(this.current.input)).format('YYYY-MM-DD HH:mm:ss.SSS')
break
}
console.log(type)
this.$clipboardCopy(this.current.output)
this.$saveToolData(this.current)
}, },
currentTime() { currentTime (type) {
this.current.input = formatDate(new Date()) if(type === "second"){
this.current.input = moment().format('YYYY-MM-DD HH:mm:ss')
}
else{
this.current.input = moment().format('YYYY-MM-DD HH:mm:ss.SSS')
} }
this.handle();
},
}, },
data() { data () {
return { return {
current: { current: {
input: "", input: '',
output: "", output: '',
} },
} }
}, },
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册