在开发中,如果涉及到时间有关的,有可能需要把系统的时间以动态的形式展示出来。
一、页面效果
后面的秒钟是会变的,一秒改变一下,也就是说这个就是与系统时间一致的。
二、思路
我们通过new date对象,获取系统的时间,逐个获取年、月、日、时、分、秒,然后再通过字符的处理,将他们格式化为我们需要的样式。然后开启一个定时器,每一秒执行一次就可以了。
三、实现代码
- <template>
-
- <view class="container">
- <view class="time-img">
- <image src="/static/image/index_pages/now.png" mode="">image>
- view>
- <view class="time">
- {{time}}
- view>
- view>
- template>
-
- <script>
- export default {
- name: "nowTime",
- data() {
- return {
- time:''
- };
- },
- mounted() {
- var timer = setInterval(() => {
- this.getNowTime()
- },1000)
- },
- // 组件销毁时关闭定时器
- beforeDestroy() {
- clearInterval(timer)
- },
- methods: {
- //获取当前时间
- getNowTime() {
- var date = new Date();
- //年 getFullYear():四位数字返回年份
- var year = date.getFullYear(); //getFullYear()代替getYear()
- //月 getMonth():0 ~ 11
- var month = date.getMonth() + 1;
- //日 getDate():(1 ~ 31)
- var day = date.getDate();
- //时 getHours():(0 ~ 23)
- var hour = date.getHours();
- //分 getMinutes(): (0 ~ 59)
- var minute = date.getMinutes();
- //秒 getSeconds():(0 ~ 59)
- var second = date.getSeconds();
- var time = year + '-' + this.addZero(month) + '-' + this.addZero(day) + ' ' + this.addZero(hour) + ":" +this.addZero(minute) + ':' + this.addZero(second);
- this.time = time
- },
- //小于10的拼接上0字符串
- addZero(s) {
- return s < 10 ? ('0' + s) : s;
- },
- }
- }
- script>
-
- <style scoped>
- .container {
- width: 702rpx;
- height: 84rpx;
- border: 1rpx solid #fff;
- border-radius: 20rpx;
- display: flex;
- align-items: center;
- background-color: #DAFDE6;
- }
-
- .time-img {
- width: 64rpx;
- height: 112rpx;
- }
-
- .time-img image {
- width: 100%;
- height: 100%;
- margin-top: -10px;
- margin-left: 28rpx;
- }
-
- .time {
- margin-left: 56rpx;
- color: #02A53C;
- font-size: 30rpx;
- font-weight: 500;
- }
- style>
代码比较简短,都可以看得懂的,不需多言,或者之前拿去使用就可以了!