js实现日期格式化封装--八种
封装一个momentTime.js文件,包含8种格式.
需要传两个参数:
- 时间戳:stamp
- 格式化的类型:type,
日期补零的方法用到es6语法中的padStart(length,‘字符’):
- 第一个参数是指定生成的字符串的最小长度,
- 第二个参数是用来补全的字符串。
- 如果没有指定第二个参数,默认用空格填充。
需要注意的是需要将获取到的年月日转为字符串,可以直接拼接一个引号。
padStart()方法,padEnd()方法
ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。
ios兼容问题
使用 new Date(date).getTime() 转化成时间戳(格式:YYYY-mm-dd HH:MM:SS)
- 在android系统上可以正常获取到, 但是再ios系统上得到确是NaN。
- ios不兼职 yyyy-MM-dd HH:mm:ss 这种时间格式
- 解决:需要把-替换成 /,如 yyyy/MM/dd HH:mm:ss这种格式。
解决:new Date(date.replace(/-/g,’/’)).getTime();
function getTimeObj(time) {
let newdata = new Date(time)
let y = newdata.getFullYear()
let m = newdata.getMonth() + 1
let d = newdata.getDate()
let hh = newdata.getHours()
let mm = newdata.getMinutes()
let ss = newdata.getSeconds()
return {
y,
m,
d,
hh,
mm,
ss
}
}
/*
type:0 =>2021-09-12 默认
type:1 =>2021-09-12 10:34:12
type:2 =>09-12 10:34:12
type:3 =>09-12
type:4 =>2021/09/12
type:5 =>2021/09/12 10:34:12
type:6 =>09/12 10:34:12
type:7 =>09/12
*/
function filterTime(stamp, type = 0) {
let str = stamp
if (stamp && stamp.indexOf('-') > 0) {
str = new Date(stamp.replace(/-/g, '/')).getTime()
}
let date = new Date(str)
let y = date.getFullYear();
let m = (date.getMonth() + 1 + '').padStart(2, '0');
let d = (date.getDate() + '').padStart(2, '0');
let hh = (date.getHours() + '').padStart(2, '0')
let mm = (date.getMinutes() + '').padStart(2, '0')
let ss = (date.getSeconds() + '').padStart(2, '0')
let time;
switch (type) {
case 0:
time = `${y}-${m}-${d}`;
break;
case 1:
time = `${y}-${m}-${d} ${hh}:${mm}:${ss}`;
break;
case 2:
time = `${m}-${d} ${hh}:${mm}:${ss}`;
break;
case 3:
time = `${m}-${d}`;
break;
case 4:
time = `${y}/${m}/${d}`;
break;
case 5:
time = `${y}/${m}/${d} ${hh}:${mm}:${ss}`;
break;
case 6:
time = `${m}/${d} ${hh}:${mm}:${ss}`;
break;
case 7:
time = `${m}/${d}`;
break;
}
return time;
}
module.exports = { getTimeObj, filterTime }
js实现日期格式化封装--八种的更多相关文章
- js实现日期格式化封装-八种格式
封装一个momentTime.js文件,包含8种格式. 需要传两个参数: 时间戳:stamp 格式化的类型:type, 日期补零的方法用到es6语法中的padStart(length,'字符'): 第 ...
- AngularJS的日期格式化有两种形式
AngularJS的日期格式化有两种形式,一种是在HTML页面,一种是在JS代码里,都是用到AngularJS的过滤器$filter. HTML: date_expression 即 你在$scope ...
- 一个JS的日期格式化算法示例
一个JS的日期格式化算法. 例子: <script> /** * Js日期格式化算法实例 * by www.jbxue.com */ function dateFormat(date, f ...
- MVC日期格式化的2种方式
原文:MVC日期格式化的2种方式 假设有这样的一个类,包含DateTime类型属性,在编辑的时候,如何使JoinTime显示成我们期望的格式呢? using System; using System. ...
- js前端日期格式化处理
js前端日期格式化处理 1.项目中时间返回值,很过时候为毫秒值,我们需要转换成 能够看懂的时间的格式: 例如: yyyy-MM-dd HH:mm:ss 2.处理方法(处理方法有多种,可以传值到前端 ...
- java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)
转载地址:http://www.devba.com/index.php/archives/4581.html java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明); ...
- (转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)
java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 1. java向MySQL插入当前时间的四种方式 第一种:将java.util.Date ...
- 分享自己写的JS版日期格式化和解析工具类,绝对好用!
前言 本来想模仿Java里面的SimpleDateFormat()对象的,但是感觉这样用起来不方便,所以还是直接写成单独的方法算了. 原文链接 日期格式化 使用说明 formatDate(date, ...
- js Date 日期格式化(转)
var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份(4位,1 ...
随机推荐
- PHP中环境变量的操作
在 PHP 中,我们可以通过 phpinfo() 查看到当前系统中的环境变量信息(Environment).在代码中,我们也可以通过两个函数,查看和修改相应的环境变量信息. getenv() 获取环境 ...
- Chrome插件 - Modify Headers for Google Chrome(IP欺骗)
前景: 该篇随笔的由来:公司某项目(B/S架构)最近新加了一个后台日志功能,需要抓取到访问项目的主机IP,记录目标主机的操作,因此就需要不同得IP访问.并且项目专用浏览器是Chrome内核. Modi ...
- jmeter调度器的使用
前言 使用jmeter 做压测的时候,希望对一个接口持续压测 10 分钟或者半小时,可以使用调度器设置持续压测时间. https://www.cnblogs.com/yoyoketang/p/1415 ...
- python学习笔记(十五)-异常处理
money = input('输入多少钱:') months = input('还几个月:') try: res = calc(int(money),int(months)) except ZeroD ...
- P7600-[APIO2021]封闭道路【堆,dp】
正题 题目链接:https://www.luogu.com.cn/problem/P7600 题目大意 给出\(n\)个点的一棵树,边有边权,对于每个\(k\)求去掉最小边权和的点使得每个点的度数都不 ...
- python读Excel方法(xlrd)
在我们做平常工作或自动化测试中都会遇到操作excel,Python处理exc相当顺手,如何通过python操作excel,当然python操作excel的库有很多,比如pandas,xlwt/xlrd ...
- 使用 Vue 脚手架,为什么要学 webpack?
先问大家一个很简单的问题: vue init webpack prjectName 与 vue create projectName 有什么区别呢? 它们是 Vue-cli 2 和 Vue-cli3 ...
- JVM-对象的实例化,内存布局与访问定位
1.对象的实例化 提到对象的实例化,我们可能会想到几个问题.对象在JVM中是怎么存储的?对象里面有什么?接下来,我们就来探讨一下对象的实例化以及回答一下这两个问题. 首先我们用图例来说明对象的实例化: ...
- 让前端的下拉框支持单选、多选及全选,后台MyBaits解决方案
目录 一.解决思路 二.请求参数 三.后台相关代码 四.Mybatis注意要点 一.解决思路 让前端的下拉框支持单选.多选及全选,后台让Mybatis使用** trim **标签拼接动态SQL,实 ...
- 看动画学算法之:栈stack
目录 简介 栈的构成 栈的实现 使用数组来实现栈 使用动态数组来实现栈 使用链表来实现 简介 栈应该是一种非常简单并且非常有用的数据结构了.栈的特点就是先进后出FILO或者后进先出LIFO. 实际上很 ...