【uniapp 开发】日期工具类 -- DateUtil
日期格式转毫秒值
var time = ‘2019-08-08 12:09:34’;
var time222 = time.replace("-", "/").replace("-", "/");
var timestamp = Date.parse(time222);
获取当前月份以及近一年的月份
getMonths() {
var dataArr = [];
var data = new Date();
var year = data.getFullYear();
data.setMonth(data.getMonth() + 1, 1); //获取到当前月份,设置月份
for (var i = 0; i < 12; i++) {
data.setMonth(data.getMonth() - 1); //每次循环一次 月份值减1
var m = data.getMonth() + 1;
m = m < 10 ? "0" + m : m;
dataArr.push(data.getFullYear() + "-" + m);
}
console.log(dataArr);
return dataArr;
},
毫秒值转日期格式
formatDate:function(date, fmt) {
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
}
let o = {
'M+': date.getMonth() + 1,
'd+': date.getDate(),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds()
};
for (let k in o) {
if (new RegExp(`(${k})`).test(fmt)) {
let str = o[k] + '';
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : this.padLeftZero(str));
}
}
return fmt;
},
padLeftZero:function(str) {
return ('00' + str).substr(str.length);
},
获取现在时刻的日期,星期几,时分秒
getTime: function(type){
let date = new Date(),
currentDate,
currentTime,
seperator = "-", // 如果想要其他格式 只需 修改这里
year = date.getFullYear(),
month = date.getMonth() + 1,
weex = date.getDay(),
day = date.getDate(),
hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours(),
minute = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(),
second = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
month >= 1 && month <= 9 ? (month = "0" + month) : "";
day >= 0 && day <= 9 ? (day = "0" + day) : "";
//当前 日期
currentDate = year + seperator + month + seperator + day;
//当前 时间
currentTime = hour + ":" + minute + ":" + second;
// 输出格式 为 2018-8-27 14:45:33
// console.log(currentDate +" "+ currentTime);
if(type==0){
return currentDate
}
else if(type==1){
return currentTime;
}
else if(type==2){
if(weex==1){
return '星期一'
}if(weex==2){
return '星期二'
}if(weex==3){
return '星期三'
}if(weex==4){
return '星期四'
}if(weex==5){
return '星期五'
}if(weex==6){
return '星期六'
}if(weex==7){
return '星期日'
}
}
else{
return currentDate+" "+ currentTime;
}
},
获取当前时间戳
var time = (new Date()).getTime();
console.log('time=='+time);
两个日期间隔天数
getDays: function(date1, date2) {
const dateTime = 1000 * 60 * 60 * 24; //每一天的毫秒数
const minusDays = Math.floor(((date2.getTime() - date1.getTime()) / dateTime));//计算出两个日期的天数差
return Math.abs(minusDays);
},
var time = this.getDays(new Date('2019-08-09'),new Date('2019-07-09'));
console.log('time=='+time);
获取10天后的日期
function daysAddSub(date, num) {
let d = new Date(date.getTime());
let newD = new Date(d.setDate(d.getDate() + num));//设置天数 +1 天
return formatDate(newD, 'yyyyMMdd');
}
console.log(this.daysAddSub(new Date('2018/06/28'),10));
获取某一年的第一天的日期
_getFirstDayOfYear: function(date) {
var year = this._getYear(date);
var dateString = year + "-01-01 00:00:00";
return dateString;
},
_getYear: function(date) {
return this._transferDate(date).getFullYear();
},
某个日期是在当月中的星期几
_getDayOfWeek: function(date1) {
return this._getWeek(date1);
},
/*获取今天星期几,如果为0代表星期日*/
_getWeek: function(date) {
return this._transferDate(date).getDay();
},
/*转换日期*/
_transferDate: function(date) {
if(typeof date == "string") {
return new Date(date.replace(/-/ig, "/"));
} else {
return date;
}
},
某个日期是否晚于某个日期
_after: function(date1, date2) {
var stime = this._getTime(this._transferDate(date1));
var etime = this._getTime(this._transferDate(date2));
return stime < etime ? true : false;
},
/*返回 1970 年 1 月 1 日至今的毫秒数。*/
_getTime: function(date) {
return this._transferDate(date).getTime();
},
/*转换日期*/
_transferDate: function(date) {
if(typeof date == "string") {
return new Date(date.replace(/-/ig, "/"));
} else {
return date;
}
},
【uniapp 开发】日期工具类 -- DateUtil的更多相关文章
- java日期工具类DateUtil
一名优秀的程序员,不仅需要有着丰富解决问题的方案,还需要的便是代码的沉淀,这不仅有助于自己快速的开发程序,也有利于保证程序的健壮.那如何才能沉淀自己的”代码“呢?从自己编写util开始其实就是一个不错 ...
- 日期工具类 - DateUtil.java
日期工具类,提供对日期的格式化和转换方法.获取区间日期.指定日期.每月最后一天等. 源码如下:(点击下载 -DateUtil.java.commons-lang-2.6.jar ) import ja ...
- 【uniapp 开发】工具类 -- MathUtil
获取随机数 /* ** randomWord 产生任意长度随机字母数字组合 ** randomFlag 是否任意长度 min 任意长度最小位[固定位数] max 任意长度最大位 ** ** 生成6-1 ...
- java日期工具类DateUtil-续一
上篇文章中,我为大家分享了下DateUtil第一版源码,但就如同文章中所说,我发现了还存在不完善的地方,所以我又做了优化和扩展. 更新日志: 1.修正当字符串日期风格为MM-dd或yyyy-MM时,若 ...
- JAVA 日期格式工具类DateUtil.java
DateUtil.java package pers.kangxu.datautils.utils; import java.text.SimpleDateFormat; import java.ut ...
- JS 日期工具类-基于yDate
源码下载 前言:最近在用到JS日期操作时,发现有一些不方便,于是搜素了一些网上的资料,基于一个开源工具类-yDate 进行了个性化定制,封装成了一个日期工具类工具函数大概介绍:1.普通的日期操作2. ...
- java日期工具类DateUtil-续二
该版本是一次较大的升级,农历相比公历复杂太多(真佩服古人的智慧),虽然有规律,但涉及到的取舍.近似的感念太多,况且本身的概念就已经很多了,我在网上也是查阅了很多的资料,虽然找到一些计算的方法,但都有些 ...
- JAVA 日期工具类的总结
一般,在项目中,我们会会经常使用到日期的各种方式的处理,在各个业务逻辑操作中,都需要相关的日期操作,因此,实现项目中的日期工具类的提出,还是十分重要的,下面,就项目中常用到的日期的相关操作方式,做了一 ...
- Java案例——日期工具类
需求:定义一个日期工具类,包含两个方法,按日期转化成指定格式的字符串,把字符串解析为指定格式的日期 然后定义一个测试类测试 分析: 1.定义一个日期工具类 2.定义一个方法dateToString,用 ...
随机推荐
- JZ-021-栈的压入、弹出序列
栈的压入.弹出序列 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等. 例如序列1,2,3,4,5是某栈的压入顺序,序列4 ...
- 穿透、击穿、雪崩…Redis这么多问题,如何解决?
摘要:什么是缓存穿透?什么是缓存击穿,又什么是缓存雪崩呢?它们是如何造成的?又该如何解决呢?今天,我们就一起来探讨这些问题. 本文分享自华为云社区<[高并发]什么是缓存穿透?击穿?雪崩?如何解决 ...
- 3. Java基础
3.Java基础[基于IDEA] 3.1.快捷键 psvm 创建主方法 sout 打印 ctrl+d 复制当前行到下一行 alt+ender 创建局部变量,类: 3.2.注释,标识符,关键字 注释 平 ...
- 记一次CentOS根目录空间占满的解决方案
问题背景是这样的,根目录初始大小是50G,我把mysql和docker都装在根目录底下了. 随着时间推移,mysql大小达到了27个G,docker则是22个G 根目录空间不够用了,上图: 图 1-1 ...
- 软件工程homework-004
软件工程软件工程homework-004 博客信息 沈阳航空航天大学计算机学院2020软件工程作业 作业要求 https://edu.cnblogs.com/campus/sau/Computer17 ...
- SP20173题解
膜拜 rqy. 题意: 求: \[\sum_{i=1}^n \sigma_0(i^2) \] 首先我们知道 \(\sigma_0((p^k)^2)=2 \times k + 1=k+(k+1)=\si ...
- python算法 前缀和
这里有 n 个航班,它们分别从 1 到 n 进行编号.有一份航班预订表 bookings ,表中第 i 条预订记录 bookings[i] = [firsti, lasti, seatsi] 意味着在 ...
- 《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)
1.简介 在实际测试过程中,我们经常会遇到这样的情况,开发由于某些原因导致一些模块进度延后,而你的自动化测试脚本已经提前完成,这样就会有部分模块测试,有部分模块不能进行测试.这就需要我们暂时不让一些t ...
- ctf之计算器
题目信息如下: 打开环境,发现是一道简单的计算题 只能输入一位数字 F12查看源码发现作者将最大长度设置为1,我们将最大长度修改了即可 输入答案即可得到flag
- Flink不止于计算,存算一体才是未来
"伴随着实时化浪潮的发展和深化,Flink 已逐步演进为实时流处理的领军技术和事实标准.Flink 一方面持续优化其流计算核心能力,不断提高整个行业的流计算处理标准,另一方面沿着流批一体 ...