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 ...
随机推荐
- 【OI】WERTYU UVa 10082
题目: A common typing error is to place the hands on the keyboard one row to the right of the correct ...
- jmeter长时间压测
如何进行24h小时的压测? 长时间压测注意事项 生成报告文件过大 https://www.cnblogs.com/SunshineKimi/p/12298668.html
- 推荐一个pycharm验证xpath表达式的插件XPathView + XSLT
使用Appium进行自动化测试,使用xpath元素定位,想验证xpath定位是否正确,可以使用在线的xpath验证网站,也可以使用这次推荐的插件XPathView + XSLT.
- [C语言]学习之路
实例:C语言编程题 求100到300之间所有素数 #include <stdio.h> int main(void) { int i,j; for(i = 100;i <= 300; ...
- mac使用brew update无反应,更新慢解决办法
一.原因 主要是资源访问太慢的原因造成的,替换一下镜像就可以了 有点耐心,大概5分钟就可以了,刚开始的时候terminal 只有顶部的title栏会变化,最后才会出现更新结果 使用中科大的镜像 替换默 ...
- 用Fiddler抓不到https的包?因为你姿势不对!往这看!
前言 刚入行测试的小伙伴可能不知道,Fiddler默认抓http的包,如果要抓https的包,是需要装证书的!什么鬼证书?不明白的话继续往下看. Fiddler 抓取 https 数据 第一步:下载 ...
- 14-Java锁的概述
14-锁的概述 乐观锁与悲观锁 乐观锁与悲观锁是数据库中引入的名词,但是在并发包里也引入了类似的思想,在这里我们还是有必要需要了解一下. 悲观锁指数据被外界修改持保守态度,认为数据会很容易被其 ...
- HTML基本标记
头部标记 <head></head> 说明:元素的作用范围是整篇文档.元素中可以有元信息定义.文档样式表定义和脚本等信息,定义在HTML语言头部的内容往往不会在网页上直接显示. ...
- 把之前CompletableFuture留下的坑给填上。
你好呀,我是歪歪. 填个坑吧,把之前一直欠着的 CompletableFuture 给写了,因为后台已经收到过好几次催更的留言了. 这玩意我在之前写的这篇文章中提到过:<面试官问我知不知道异步编 ...
- hd-cg辉度通用代码生成器
HD-CG 辉度通用代码生成器 主要特点: 1. 自定义代码模板:通过简单的默认变量自行编写代码模板,如果默认变量不满足需求,也可增加自定义变量. 2. 自定义数据源:可自定义添加多个项目的数据库,数 ...