代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Js
】
时间戳转化|年|月|日|时|分|秒|星期|YYYY-MM-DD|HH:mm
作者:
乔依
/ 发布于
2018/3/23
/
655
时间戳转化|年|月|日|时|分|秒|星期|YYYY-MM-DD|HH:mm:ss|YYYY-MM-DD HH:mm:ss|封装
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>时间戳转化|年|月|日|时|分|秒|星期|YYYY-MM-DD|HH:mm:ss|YYYY-MM-DD HH:mm:ss|封装</title> </head> <body> <script type="text/javascript"> //封装时间函数:获取年月日时分秒日期(不推荐使用,旨在告诉你时间的获取方法) //可以通过传参单独获取年月日和日期方法封装 //timestamp为传入的时间戳 //type为想要单独获取的类型 |year|month|day|hour|minute|second|YMD|HMS| function getTime(timestamp, type) { let time, year, month, day, hour, minute, second, week; let WEEK = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'] // 定义补零函数 let add0 = (m) => { return m < 10 ? "0" + m : m; }; //时间戳只能有10位或者13位(正常情况下) if (String(timestamp).length == 13) time = new Date(parseInt(timestamp)); else time = new Date(parseInt(timestamp) * 1000); year = time.getFullYear(); month = add0(time.getMonth() + 1); day = add0(time.getDate()); hour = add0(time.getHours()); minute = add0(time.getMinutes()); second = add0(time.getSeconds()); week = WEEK[time.getDay()] if (type === 'year') return year; else if (type === 'month') return month; else if (type === 'day') return day; else if (type === 'hour') return hour; else if (type === 'minute') return minute; else if (type === 'second') return second; else if (type === 'week') return week; else if (type === 'YMD') return `${year}-${month}-${day}`; else if (type === 'HMS') return `${hour}:${minute}:${second}`; else return `${year}-${month}-${day} ${hour}:${minute}:${second}` } console.group() console.log(getTime(1521699857)) console.log(getTime(1521699857, 'year')) console.log(getTime(1521699857, 'month')) console.log(getTime(1521699857, 'day')) console.log(getTime(1521699857, 'hour')) console.log(getTime(1521699857, 'minute')) console.log(getTime(1521699857, 'second')) console.log(getTime(1521699857, 'week')) console.log(getTime(1521699857, 'YMD')) console.log(getTime(1521699857, 'HMS')) console.groupEnd() /** * Created with Visual Studio Code. * User: hjm100 * Date: 18-3-22 * Time: 下午4:55 */ /** 面向对象获取时间戳中的任意指定时间 * @param timestamp 时间戳 */ class getTimes { constructor(timestamp) { this.timestamp = timestamp; // 私有属性只能在对象中使用 this.date = new Date(); this.time = this.switchTimestamp(); } // 将时间戳转化成标准时间 switchTimestamp() { let time; //时间戳只能有10位或者13位(正常情况下) if (String(this.timestamp).length == 13) time = new Date(parseInt(this.timestamp)); else time = new Date(parseInt(this.timestamp) * 1000); return time }; // 为10一下的数字补零 add0(num) { return num < 10 ? "0" + num : num; }; //获取年[有参数的时候进行转化,没有参数的时候输出当前年] getYears() { if (this.timestamp) return this.time.getFullYear() else return this.date.getFullYear() }; //获取月[有参数的时候进行转化,没有参数的时候输出当前月] getMonths() { if (this.timestamp) return this.add0(this.time.getMonth() + 1) else return this.add0(this.date.getMonth() + 1) } //获取日[有参数的时候进行转化,没有参数的时候输出当前日] getDays() { if (this.timestamp) return this.add0(this.time.getDate()) else return this.add0(this.date.getDate()) } //获取时[有参数的时候进行转化,没有参数的时候输出当前时] getHour() { if (this.timestamp) return this.add0(this.time.getHours()) else return this.add0(this.date.getHours()) } //获取分[有参数的时候进行转化,没有参数的时候输出当前分] getMinute() { if (this.timestamp) return this.add0(this.time.getMinutes()) else return this.add0(this.date.getMinutes()) } //获取秒[有参数的时候进行转化,没有参数的时候输出当前秒] getSecond() { if (this.timestamp) return this.add0(this.time.getSeconds()) else return this.add0(this.date.getSeconds()) } //获取当前星期 getWeek() { let week;//这种获取日期的方法更加高效 let WEEK = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'] if (this.timestamp) week = WEEK[this.time.getDay()] else week = WEEK[this.date.getDay()] return week; } getYMD() { return `${this.getYears()}-${this.getMonths()}-${this.getDays()}` } getHMS() { return `${this.getHour()}:${this.getMinute()}:${this.getSecond()}` } getYMD_HMS() { return `${this.getYMD()} ${this.getHMS()}` } } let time = new getTimes(2021699857); console.group() console.log(time.switchTimestamp()) // Thu Mar 22 2018 14:24:17 GMT+0800 (中国标准时间) console.log(time.getYears()) // 2034 console.log(time.getMonths()) // 01 console.log(time.getDays()) // 24 console.log(time.getHour()) // 15 console.log(time.getMinute()) // 17 console.log(time.getSecond()) // 37 console.log(time.getWeek()) // 星期二 console.log(time.getYMD()) // 2034-01-24 console.log(time.getHMS()) // 15:17:37 console.log(time.getYMD_HMS()) // 2034-01-24 15:17:37 console.groupEnd() /** 备注:(旨在练习ES6的class用法以及时间方法) * 第一种不推荐使用,如果数据庞大的话对cpu的占用量比较大 * 第二种方法也不推荐使用 * 第一封装时间封装性必要不大(因为new Date() 已经提供很多便利的api) * 如果项目中有多处使用到获取日期或者星期等方法,每次的调用意味着都需要对时间戳进行处理一次 * 所以你可以使用下面的方法对性能更好一点 * 项目中的使用: * let date = new Date(parseInt(d.datetimestamp) * 1000) * let WEEK = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'] * d.title = add0(date.getDate()) + "日—" + WEEK[date.getDay()]; */ //测试那种方法更加优化[性能测试] console.time('a') //最慢 for(let i = 0;i<=100;i++){ let time = new getTimes(1521699857); console.log('getTimes'+time.getYears()+time.getYears()+time.getYears()) } console.timeEnd('a') console.time('b') //慢 for(let i = 0;i<=100;i++){ console.log('getTime'+ getTime(1521699857, 'year')+ getTime(1521699857, 'year')+ getTime(1521699857, 'year')) } console.timeEnd('b') console.time('c') //快 for(let i = 0;i<=100;i++){ let date = new Date(parseInt(1521699857) * 1000) console.log('常规'+date.getFullYear()+date.getFullYear()+date.getFullYear()) } console.timeEnd('c') </script> </body> </html>
试试其它关键字
同语言下
.
Jquery搜索框获取回车事件
.
H5页面添加倒计时,然后自动跳转
.
通过user-agent判断h5页面是在哪个手机App(QQ、微信
.
nginx 禁止未绑定的域名访问
.
JavaScript 获取按键,并屏蔽系统 Window 事件
.
H5之只允许微信浏览器打开,禁止从外部浏览器访问
.
微信打开网址添加在浏览器中打开提示的办法
.
实现JS复制、粘贴,Chrome/Firefox下可用
.
video视频播放,play()、pause()、duration时长、onen
.
HTML5实现MP3上传前的预览和播放时长的获取
可能有用的
.
Jquery搜索框获取回车事件
.
H5页面添加倒计时,然后自动跳转
.
通过user-agent判断h5页面是在哪个手机App(QQ、微信
.
nginx 禁止未绑定的域名访问
.
JavaScript 获取按键,并屏蔽系统 Window 事件
.
H5之只允许微信浏览器打开,禁止从外部浏览器访问
.
微信打开网址添加在浏览器中打开提示的办法
.
实现JS复制、粘贴,Chrome/Firefox下可用
.
video视频播放,play()、pause()、duration时长、onen
.
HTML5实现MP3上传前的预览和播放时长的获取
乔依
贡献的其它代码
(
16
)
.
时间戳转化|年|月|日|时|分|秒|星期|YYYY-MM-DD|HH:mm
.
批量去除文件bom头
.
JSON对象与字符串之间的相互转换
.
文本文件删除空行
.
重写已经存在hive表的数据
.
关闭相关
.
java读取Properties文件及赋值
.
通过索引获取列表值
.
循环插入数据,并且计算插入所用时间
.
字符串操作
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3