【uni-app 获取比当前时间少一个月(时间戳),不溢出】

1.在pages里新建文件夹common,common里新建.js文件命名method.js

在这里插入图片描述

如何获取当前时间

1.定义一个当前时间,一个存放一个月前时间
  • 时间少一个月需要注意的是,当前月份倒流回上个月份,倒流时间已上个有多少天为准
  • 三月判断上一个月的天数需要考虑闰年和平年的天数
  • 当前时间的时间戳 - 上个月的天数×24小时×60分钟×60秒×1000毫秒
<template>
	<view style="margin: 50rpx;">
		<text>一个月前:</text><text>{{da.year }}  {{da.time}}</text>
	</view>
</template>
	export default {
		data() {
			return {
				da:'',
				now:''
			}
		},
				onShow() {
			// this.now = yearTime('yearTime')
			// 少一个月
			var end = Date.now()
			// var end =new  Date('2020/7/29 15:18').getTime()//获取时间戳
			var day = 30
			var enda = new Date(end);//获取时间戳
			var endm = enda.getMonth()+1;
			var d = enda.getDate();
			if(d == 31){
				day = 31
			}
			// 如果是二月少一个月那要减三十一天,如果三月减一个月要判断二月有多少天
			if(endm==1 || endm==2 || endm==4 || endm==6 ||  endm==8 || endm==9 || endm==11){
				day=31
			}
			if(endm == 3){
				var endy = enda.getFullYear();
				day = 28
				if(d == 31){
					day = 31
				}
				if(d == 30){
					day = 30
				}
				if(d == 29){
					day = 29
				}
				if(endy % 4 == 0){
					day = 29
					if(d == 31){
						day = 31
					}
					if(d == 30){
						day = 30
					}
					if(d == 29){
						day = 29
					}
				}

			}
			var start = 1000*60*60*24*day
			var interval = end - start;
			this.da = this.getTime(interval)
			
		},
		
		methods: {
			getTime(e){
				var a =new Date(e);
				var y=a.getFullYear();
				var m=a.getMonth()+1;
				m = m<10? "0"+m:m;
				var d=a.getDate();
				d = d<10? "0"+d:d;
				
				var h=a.getHours();
				h = h<10? "0"+h:h;
				var mm=a.getMinutes();
				mm = mm<10? "0"+mm:mm;
				var s=a.getSeconds();
				s = s<10? "0"+s:s;
				
				return {
					year : y + '/' + m + '/' + d,
					time :  h + ':' + mm + ':' + s,
					hm : h + ':' + mm,
					h : h,
					mm : mm,
					s : s,
					y : y,
					m : m,
					d : d
				} 
			}
			
		}

完成!

猜你喜欢

转载自blog.csdn.net/TChildeSeven/article/details/107691369