vue获取并显示服务器时间

由于http响应头会带有服务器时间,所以就在响应拦截器中获取了服务器时间

import store from '@/store'
service.interceptors.response.use((response) => {
	if(response.headers['date']) {
		store.commit('common/setServiceTime', response.headers.date)
	}
})

common stroe

const state = {
	differTime: 0,
}

const mutations = {
	setServiceTime(state, date) {
		let localTime = new Date();
		let serveTime = new Date(date);
		state.differTime = localTime.valueOf() - serveTime.valueOf();
	},
}

mixin

export const mixinServerTime = {
	data() {
		return {
			currentServeTime: '',
		}
	},
  computed: {
		...mapState('common', {
			differTime: state => state.differTime,
		}),
	},
	created(){
		this.initTime();
	},
	methods: {
		initTime() {
			this.getTime();
			this.timer = setInterval(() => {
				this.getTime();
			}, 1000)
		},
		getTime() {
			let now = new Date();
			console.log(new Date(now.valueOf() - this.differTime));
			
			this.currentServeTime = new Date(now.valueOf() - this.differTime).format()
		},
	}
}

currentServeTime即为服务器时间。
关于定时器,为了时间更精确,可以设置500ms更新

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用Vue.js的生命周期函数中的`created()`方法来获取当前时间并将其显示在页面上。以下是一个示例: ``` <template> <div> <p>{{ currentTime }}</p> </div> </template> <script> export default { data() { return { currentTime: "", }; }, created() { setInterval(() => { this.currentTime = new Date().toLocaleTimeString(); }, 1000); }, }; </script> ``` 在这个示例中,我们定义了一个数据属性`currentTime`来存储当前时间。在`created()`方法中,我们使用`setInterval()`方法每秒钟更新一次`currentTime`。最后,我们在模板中使用插值表达式`{{ currentTime }}`将其显示在页面上。 ### 回答2: 在Vue获取当前时间并进行显示,可以通过以下步骤进行操作: 1. 在Vue实例中定义一个变量来存储当前时间,如currentTime:data() { return { currentTime: '' }}, 2. 在Vue的生命周期钩子函数created()中使用JavaScript的Date对象获取当前时间并将其赋值给currentTime变量:created() { this.currentTime = new Date().toLocaleTimeString() }, 3. 在Vue的模板中使用{{}}语法将currentTime变量进行插值显示:{{ currentTime }}。 完整的代码如下: ``` <template> <div> {{ currentTime }} </div> </template> <script> export default { data() { return { currentTime: '', }; }, created() { this.currentTime = new Date().toLocaleTimeString(); }, }; </script> ``` 在模板中,{{ currentTime }}将会显示当前时间,格式为小时:分钟:秒钟。可以根据需要自行调整日期时间的格式化方式。 ### 回答3: 在Vue获取当前时间显示,可以使用`Date`对象来获取当前时间。我们可以在Vue组件的`data`选项中声明一个变量来存储当前时间。 具体步骤如下: 1. 在Vue组件的`data`选项中声明一个变量用于存储当前时间,例如`currentTime: ''`。 2. 在Vue组件的`created`或`mounted`钩子函数中,使用`Date`对象获取当前时间并将其赋值给`currentTime`变量。代码如下: ```javascript ... data() { return { currentTime: '' } }, created() { this.getCurrentTime(); }, methods: { getCurrentTime() { let date = new Date(); let hour = date.getHours(); let minute = date.getMinutes(); let second = date.getSeconds(); // 格式化时间,例如:09:30:15 hour = hour < 10 ? '0' + hour : hour; minute = minute < 10 ? '0' + minute : minute; second = second < 10 ? '0' + second : second; this.currentTime = hour + ':' + minute + ':' + second; } } ... ``` 3. 在Vue模板中,使用`{{ currentTime }}`来显示当前时间。代码如下: ```html ... <div>{{ currentTime }}</div> ... ``` 这样,页面就会显示当前的时间。每秒钟,`getCurrentTime`方法会重新执行,更新`currentTime`变量的值,从而实时显示当前时间

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值