uniapp 格式化时间刚刚,几分钟前,几小时前,几天前…

这篇具有很好参考价值的文章主要介绍了uniapp 格式化时间刚刚,几分钟前,几小时前,几天前…。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

效果如图:

uniapp 格式化时间刚刚,几分钟前,几小时前,几天前…,uni-app

根目录下新建utils文件夹,文件夹下新增js文件,文件内容:

export const filters = {
	dateTimeSub(data) {
		if (data == undefined) {
			return;
		}
		// 传进来的data必须是日期格式,不能是时间戳
		//将字符串转换成时间格式
		var timePublish = new Date(data);
		var timeNow = new Date();
		var minute = 1000 * 60;
		var hour = minute * 60;
		var day = hour * 24;
		var month = day * 30;
		var result = "";
	
		var diffValue = timeNow - timePublish;  //时间差
		var diffMonth = diffValue / month;      //月差
		var diffWeek = diffValue / (7 * day);   //周差
		var diffDay = diffValue / day;          //天差
		var diffHour = diffValue / hour;        //时差
		var diffMinute = diffValue / minute;    //分差
	
		if (diffValue < 0) {
			console.log("错误时间");
		} else if (diffMonth > 3) {
			// result = timePublish.getFullYear() + "-";
			// result += timePublish.getMonth() + "-";
			// result += timePublish.getDate();
			// console.log(result);
		} else if (diffMonth > 1) {
			// result = parseInt(diffMonth) + "月前";
		} else if (diffWeek > 1) {
			// result = parseInt(diffWeek) + "周前";
		} else if (diffDay > 3) {
			let y = timePublish.getFullYear();
			let MM = timePublish.getMonth() + 1;
			MM = MM < 10 ? ('0' + MM) : MM; //月补0
			let d = timePublish.getDate();
			d = d < 10 ? ('0' + d) : d; //天补0
			result = y + '-' + MM + '-' + d;
		} else if (diffDay>=1 && diffDay <= 3) {
			result = parseInt(diffDay) + "天前";
		} else if (diffHour > 1) {
			result = parseInt(diffHour) + "小时前";
		} else if (diffMinute > 1) {
			result = parseInt(diffMinute) + "分钟前";
		} else {
			result = "刚刚";
		}
		return result;
	},
    formatDate(value) {
    	if (value == undefined) {
    		return;
    	}
    	// #ifdef APP-PLUS
    		if(plus.os.name == 'iOS') {
    			time = time.replaceAll("-", "/")
    		}
    	// #endif
    	// let date = new Date(value * 1000);
    	let date = new Date(value);
    	//时间戳为10位需*1000,时间戳为13位的话不需乘1000
    	let y = date.getFullYear();
    	let MM = date.getMonth() + 1;
    	MM = MM < 10 ? ('0' + MM) : MM; //月补0
    	let d = date.getDate();
    	d = d < 10 ? ('0' + d) : d; //天补0
    	let h = date.getHours();
    	h = h < 10 ? ('0' + h) : h; //小时补0
    	let m = date.getMinutes();
    	m = m < 10 ? ('0' + m) : m; //分钟补0
    	let s = date.getSeconds();
    	s = s < 10 ? ('0' + s) : s; //秒补0
    	return y + '-' + MM + '-' + d; //年月日
    	// return y + '-' + MM + '-' + d + ' ' + h + ':' + m+ ':' + s; //年月日时分秒
    },
    formatTime(value) {
    	if (value == undefined) {
    		return;
    	}
    	// #ifdef APP-PLUS
    		if(plus.os.name == 'iOS') {
    			time = time.replaceAll("-", "/")
    		}
    	// #endif
    	let date = new Date(value);
    	let MM = date.getMonth() + 1;
    	MM = MM < 10 ? ('0' + MM) : MM; //月补0
    	let d = date.getDate();
    	d = d < 10 ? ('0' + d) : d; //天补0
    	return  MM + '月' + d + '日'; //年月日
    }
}

 main.js中引入

import Vue from 'vue'

Vue.config.productionTip = false

import { filters } from './utils/time_day.js'
// 定义全局自定义过滤器
Object.keys(filters).forEach(key => {
    Vue.filter(key, filters[key])
})

页面中使用即可文章来源地址https://www.toymoban.com/news/detail-640563.html

<view class="times">{{item.updatetime | getDateDiff}}</view>

到了这里,关于uniapp 格式化时间刚刚,几分钟前,几小时前,几天前…的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • unity获取和格式化时间

    在Unity中,可以使用DateTime结构来获取和格式化时间。例如获取2023 年 5 月 16 日 13:43:15 000 格式,精确到毫秒。 在上述示例中,DateTime.Now获取当前的日期和时间。然后,使用ToString方法将其格式化为指定的格式。格式字符串\\\"yyyy 年 M 月 d 日 HH:mm:ss.fff\\\"将日期和时间以所需的格式

    2024年02月14日
    浏览(31)
  • 在线时间戳格式化转换工具

    在线时间戳格式化转换工具 本工具支持在时间和时间戳之间相互转换,默认时间参考的是服务器时间 Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIXtime),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起

    2024年02月15日
    浏览(33)
  • java实现当前系统时间格式化

    运行结果:

    2024年02月13日
    浏览(31)
  • c# 时间获取以及格式化方式

    在C#中,你可以使用DateTime结构来获取并格式化时间。以下是一些示例和技巧: 获取当前日期和时间: 获取特定日期和时间: 格式化日期和时间为字符串: 使用自定义格式化字符串获取特定的日期和时间部分: 使用预定义格式字符串获取常见的日期和时间格式: 还可以使用

    2024年02月13日
    浏览(28)
  • day.js库格式化当前时间

    Day.js 是一个轻量的处理时间和日期的 JavaScript 库:Day.js中文网 (fenxianglu.cn) 只要导入了 dayjs的库文件,在window全局就可以使用dayjs()的方法了 先new出来一个 date()的对象,再进行打印 得到一个不适合阅读的字符串 这个时候可以使用 Day.js对Date()进行处理 我们通常需要对时间进行

    2024年02月06日
    浏览(38)
  • Java格式化日期,时间(三种方法)

    在java中String类格式化的方法,是静态format()用于创建格式化的字符串。 format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。 format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式和参数生成格式化

    2024年02月13日
    浏览(40)
  • js时间格式化和转换的方法

    近期在练习或写项目时经常会遇到时间格式的转换问题,今天我就来总结一下。 1、将日期转换为指定格式( yyyy-MM-dd hh:mm:ss 等格式) 封装方法format 也可以为Date原型直接添加format方法 2.将时间戳转换为年月日的格式 或者获取到date之后结合format使用 3.将时间转换为时间戳 注

    2024年02月11日
    浏览(28)
  • vue关于时间的操作(持续更新)(时间格式化、获取当前系统时间)

    2.1 封装全局过滤器 在utils中创建 filter.js 文件 2.2 在 main.js 进行全局注入 2.3 在其他页面使用

    2024年01月24日
    浏览(33)
  • ES 如何将国际标准时间格式进行格式化与调整时区

            需求,日志收集的时候,时间格式是国际标准时间格式。形如yyyy-MM-dd\\\'T\\\'HH:mm:ss.SSS。 (2023-12-05T02:45:50.282Z)这个时区也不对,那如何将此类型的时间,进行格式化呢?         本篇文章体统一个案例,可以格式化各种类型的时间,已经调整到各个时区。     

    2024年01月19日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包