前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >js时间戳转换日期格式和日期计算

js时间戳转换日期格式和日期计算

作者头像
半指温柔乐
发布于 2018-09-11 01:21:38
发布于 2018-09-11 01:21:38
30.6K00
代码可运行
举报
文章被收录于专栏:前端知识分享前端知识分享
运行总次数:0
代码可运行

一、时间戳转换日期

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 function formatDate(datetime) {
 2         // 获取年月日时分秒值  slice(-2)过滤掉大于10日期前面的0
 3         var year = datetime.getFullYear(),
 4             month = ("0" + (datetime.getMonth() + 1)).slice(-2),
 5             date = ("0" + datetime.getDate()).slice(-2),
 6             hour = ("0" + datetime.getHours()).slice(-2),
 7             minute = ("0" + datetime.getMinutes()).slice(-2),
 8             second = ("0" + datetime.getSeconds()).slice(-2);
 9         // 拼接
10         var result = year + "-"+ month +"-"+ date +" "+ hour +":"+ minute +":" + second;
11         // 返回
12         return result;
13     }
14 
15     var date = new Date();
16     console.log(formatDate(date)); // 2018-05-26 23:09:26

二、合同日期计算

根据开始日期和期限,计算结束日期

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 //date: 日期字符串yyyy-MM-dd,如:2016-02-14
 2 //years:年份,正整数字符串
 3 //返回日期字符串yyyy-MM-dd,如:2016-02-14
 4     function dateAddYear(date, years) {
 5         var now = new Date(date);
 6         var intYear = now.getFullYear() + parseInt(years);
 7         var intMonth = now.getMonth() + 1; //正常的月份,
 8         var intDay = now.getDate() - 1; //日期-1
 9         if (intDay == 0) {
10             intMonth--; //减少一个月
11             if (intMonth == 0) {
12                 intYear--; //0:减少一年
13                 intMonth = 12;
14                 intDay = 31;
15             }
16             else if (intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) {
17                 intDay = 30; //4,6,9,11:30天
18             }
19             else if (intMonth == 2) {
20                 intDay = 28; //2:28/29
21                 if (intYear % 4 == 0) {
22                     intDay = 29;
23                 }
24             } else {
25                 intDay = 31; //1,3,5,7,8,10,12 :31天
26             }
27         }
28 
29         var strMonth = (intMonth) < 10 ? "0" + (intMonth).toString() : (intMonth).toString();
30         var strDay = (intDay) < 10 ? "0" + (intDay).toString() : (intDay).toString();
31         var strEndDate = intYear + "-" + strMonth + "-" + strDay;
32         return strEndDate;
33     }
34     
35     console.log(dateAddYear('2018-6-10','2')); //  2020-06-09

三、根据开始日期,计算count天过后的日期

beginDate是开始日期,字符串格式

count是指多少天,整型数

注意:setDate和getDate结合使用

date.setDate(date.getDate() + count);

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 function calculateDate(beginDate,count){
 2         var date = new Date(beginDate);
 3         date.setDate(date.getDate() + count);
 4         var year = date.getFullYear();
 5         var month = ("0" + (date.getMonth()+1)).slice(-2);
 6         var day = ("0" + date.getDate()).slice(-2);
 7         var hours = ("0" + date.getHours()).slice(-2);
 8         var minute = ("0" + date.getMinutes()).slice(-2);
 9         var second = ("0" + date.getSeconds()).slice(-2);
10 
11         var endDate = year + "-"+ month +"-"+ day +" "+ hours +":"+ minute +":" + second;
12 
13         return endDate;
14     }
15 
16     console.log(calculateDate('2018-5-26 23:50:32',30)); // 2018-06-25 23:50:32

四、计算n月之后的日期

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 function addMonth(date,monthNum){
 2    var str = date.split('-');
 3    var day = parseInt(str[2]);
 4    var nextMonth = new Date( str[0], parseInt(str[1])+monthNum, 0);
 5    var max = nextMonth.getDate();
 6    endDate = new Date( str[0],str[1]-1+monthNum,day>max? max: day );
 7    return endDate.toLocaleDateString().match(/\d+/g).join('-');
 8 }
 9 
10 console.log(addMonth("2018-12-12",12));
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 function addMonth(date,monthNum){
 2 
 3    var str = date.split('-');
 4    var oldDate = new Date(str[0], parseInt(str[1]), 0);
 5    var oldDay = oldDate.getDate();
 6    console.log(oldDay);
 7    var day = parseInt(str[2]);
 8    var nextMonth = new Date( str[0], parseInt(str[1])+monthNum, 0);
 9    var max = nextMonth.getDate();
10    if(day >28 && day < 31){
11            max = max - (oldDay - day);
12            console.log(max);
13    }
14    endDate = new Date( str[0],str[1]-1+monthNum,day>max? max: day );
15    return endDate.toLocaleDateString().match(/\d+/g).join('-');
16 }
17 
18 console.log(addMonth("2018-1-27",1));

五、常用的Date对象方法

  1. Date()  返回当日的日期和时间。  
  2. getDate()   从 Date 对象返回一个月中的某一天 (1 ~ 31)。  
  3. getDay()    从 Date 对象返回一周中的某一天 (0 ~ 6)。  
  4. getMonth()  从 Date 对象返回月份 (0 ~ 11)。  
  5. getFullYear()   从 Date 对象以四位数字返回年份。  
  6. getYear()   请使用 getFullYear() 方法代替。  
  7. getHours()  返回 Date 对象的小时 (0 ~ 23)。  
  8. getMinutes()    返回 Date 对象的分钟 (0 ~ 59)。  
  9. getSeconds()    返回 Date 对象的秒数 (0 ~ 59)。  
  10. getMilliseconds()   返回 Date 对象的毫秒(0 ~ 999)。  
  11. getTime()   返回 1970 年 1 月 1 日至今的毫秒数。  
  12. getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。  
  13. getUTCDate()    根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。  
  14. getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。  
  15. getUTCMonth()   根据世界时从 Date 对象返回月份 (0 ~ 11)。  
  16. getUTCFullYear()    根据世界时从 Date 对象返回四位数的年份。  
  17. getUTCHours()   根据世界时返回 Date 对象的小时 (0 ~ 23)。  
  18. getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。  
  19. getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。  
  20. getUTCMilliseconds()    根据世界时返回 Date 对象的毫秒(0 ~ 999)。  
  21. parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。  
  22. setDate()   设置 Date 对象中月的某一天 (1 ~ 31)。  
  23. setMonth()  设置 Date 对象中月份 (0 ~ 11)。  
  24. setFullYear()   设置 Date 对象中的年份(四位数字)。  
  25. setYear()   请使用 setFullYear() 方法代替。  
  26. setHours()  设置 Date 对象中的小时 (0 ~ 23)。  
  27. setMinutes()    设置 Date 对象中的分钟 (0 ~ 59)。  
  28. setSeconds()    设置 Date 对象中的秒钟 (0 ~ 59)。  
  29. setMilliseconds()   设置 Date 对象中的毫秒 (0 ~ 999)。  
  30. setTime()   以毫秒设置 Date 对象。  
  31. setUTCDate()    根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。  
  32. setUTCMonth()   根据世界时设置 Date 对象中的月份 (0 ~ 11)。  
  33. setUTCFullYear()    根据世界时设置 Date 对象中的年份(四位数字)。  
  34. setUTCHours()   根据世界时设置 Date 对象中的小时 (0 ~ 23)。  
  35. setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。  
  36. setUTCSeconds() 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。  
  37. setUTCMilliseconds()    根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。  
  38. toSource()  返回该对象的源代码。  
  39. toString()  把 Date 对象转换为字符串。  
  40. toTimeString()  把 Date 对象的时间部分转换为字符串。  
  41. toDateString()  把 Date 对象的日期部分转换为字符串。  
  42. toGMTString()   请使用 toUTCString() 方法代替。  
  43. toUTCString()   根据世界时,把 Date 对象转换为字符串。  
  44. toLocaleString()    根据本地时间格式,把 Date 对象转换为字符串。  
  45. toLocaleTimeString()    根据本地时间格式,把 Date 对象的时间部分转换为字符串。  
  46. toLocaleDateString()    根据本地时间格式,把 Date 对象的日期部分转换为字符串。  
  47. UTC()   根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。  
  48. valueOf()   返回 Date 对象的原始值。 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-05-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
稳定且高性价比!腾讯云图床服务来了!
图床服务,提供图片存储、图片加工处理、图片全网分发等功能,为全球无数的博客网站和社区论坛提供了后端图片服务支撑。
云存储
2022/03/28
10.4K0
稳定且高性价比!腾讯云图床服务来了!
使用腾讯云对象存储搭建图床
平常在学习一些东西或者研究一些东西的时候会整理一下然后发到博客网站上,然后编辑时候一般使用的都是markdown格式,然后图片的存储有时候就很闹心,开始用的公共图床,但是没几天不是图片失效了就是图床网站倒闭了,然后现在很多网站都加限制防外链的。就想着自己搭建个图床,费用不高,可玩性较高,最主要资源自主管控,没有那么多限制。
愷龍
2023/02/26
7K0
使用腾讯云对象存储搭建图床
借助数据万象(原万象优图),让 hexo 也用上 webp
我的博客目前是使用 hexo + Next 主题搭建在 GitHub Pages 上的,使用 git 管理,并接入了 Travis-CI 自动发布。一直以来,对于图片的处理是我的一块心病。虽然hexo官方提出了资源文件夹的概念,但是{% asset_img example.jpg This is an example image %}这种方式几乎不被任何 Markdown 编辑器支持。
edsion
2019/07/28
2.5K0
借助数据万象(原万象优图),让 hexo 也用上 webp
使用腾讯云对象存储 COS + PicGo 搭建图床服务
平时写博客记笔记大都是使用 markdown 编辑器 ,插入图片时默认保存在电脑本地磁盘。如果需要在多个平台上发布文章,就要分别多次上传图片,非常繁琐。所以需要一种更好的图片管理方案,就是使用图床服务。将图片文件上传到图床并得到一个 url 地址,就可以方便的分享图片了。
昆吾kw
2022/08/05
6.6K0
【对象存储COS】使用COS自动数据备份,解放硬盘空间
视频,照片,录音......诸如此类的文件在手机电脑里,永远是不断增多,不断占用的东西,每次空间告急时,都要花一大片时间去整理,删除照片释放这宝贵的空间,“这个删,这个删不删呢?可能以后要用......”,挑选照片还真是一个费时费力还费心的活。
Ar-Sr-Na
2024/06/03
4030
【日常】图床中图片水印设置方法小结
every blog every motto: You can do more than you think.
胡侃有料
2024/04/24
1290
如何使用腾讯云COS+CDN搭建一个属于自己的图床
选择腾讯云托管证书→选择对应的证书完成配置,也可通过自有证书上传。若无证书可前往SSL控制台申请免费证书。
Im小泽
2024/04/02
6010
突发!Gitee 图床 "炸" 了
本来又是一个愉快的周末,却发生了一件不太愉快的事情,「Gitee(码云)图床不能用了」;
一行Java
2022/04/07
2.2K0
突发!Gitee 图床 "炸" 了
如何使用图片压缩降低COS流量成本?
 导语 本文将介绍如何通过【图片压缩】能力,让您降本增效的使用 COS ,文章将写得浅显易懂,旨在快速带领用户了解图片压缩的用法及带来的收益。  图片压缩为什么会让您降本增效? 随着互联网业务量的不断
云存储
2023/03/29
1.7K0
如何使用图片压缩降低COS流量成本?
Typora使用腾讯轻量对象存储 LightCOS 服务作为图床
比如,我发布的文章可能图片不多,但是阅读会比较多,那么我就可以选择让流量多一些,存储空间少一些
IT蜗壳-Tango
2025/06/11
540
Typora使用腾讯轻量对象存储 LightCOS 服务作为图床
如何使用对象存储 COS ?七个步骤,帮你搞定!
腾讯云对象存储 COS(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务,用户可通过网络随时存储和查看数据。同时为用户提供了高数据持久性、高可用性、高性能的对象存储服务。
云存储
2022/02/25
9.4K0
如何使用对象存储 COS ?七个步骤,帮你搞定!
在Picgo上配置Cloudflare-R2图床
图床就是将图片上传到相关服务商或者个人服务器,通过上传文件的网络地址进行远程访问。可以方便快速的将图片插入到文章中,方便后续图片二次使用、迁移、分享。
慕阳MuYoung
2025/06/12
1220
极智压缩 ——帮你高清无损压缩 JPG/PNG/GIF 图片!
图片太大怎么办?图片该如何压缩?压缩后图片为什么变模糊了?屏幕前的你是不是经常被这些问题所困扰,腾讯云数据万象推出的图片极智压缩服务,可以帮你高清无损压缩 JPG/PNG/GIF 图片,解决你95%以上的图片压缩场景。
云存储
2024/03/14
3850
极智压缩 ——帮你高清无损压缩 JPG/PNG/GIF 图片!
对象存储COS-防盗刷指引
近年来,越来越多的用户在搭建网站或图床时将图片视频等资源上传到对象存储COS,提升了访问稳定性的同时降低了服务器的存储空间压力,但随之而来的流量盗刷、图片盗链问题也困扰着不少开发者,一旦存储空间被恶意访问,会产生高额的流量费用,产生不必要的纠纷。这类问题实际上可以通过多种手段来防护,本文将主要介绍一些常见的防护手段,帮助开发者合理配置存储桶,建立安全机制,降低因类似问题带来的大额资金损失的风险。
云存储
2023/09/22
1.9K0
对象存储COS-防盗刷指引
Typora + PicGo + 七牛云图床
像我平常写博客的话,基本很少使用博客系统自带的编辑器,因为网页端很难达到客户端那样的流畅,偶尔还会出现网络问题,造成辛辛苦苦写完的内容丢失,而在客户端则不会出现这种问题。但客户端的问题在于该怎么上传图片,不然博客写完,图片还要一张张的上传,那岂不是得不偿失。所以在这里介绍七牛云搭建图床的方法。
用户10002156
2023/08/07
4240
Typora + PicGo + 七牛云图床
玩转腾讯云对象存储 - COS 插件
本文由作者在 “开箱吧腾讯云 - 加码生态 / Get 对象存储操作新姿势” 专场演讲稿改写而成。
若海
2022/12/06
10.4K0
玩转腾讯云对象存储 - COS 插件
每个程序员都需要有自己的图床
重要的事情说三遍,免费图库看似让你捡了个便宜,实际就是一个大坑。因为你不知道什么时候,免费图床就挂掉了。而你之前引用的所有图片,都变成了404或403了,如果只是设置了防盗链,我们还可以通过技术方式恢复这些图片,可也颇费周折。
章鱼喵
2019/07/08
2K0
腾讯云主机安装COSFS工具并使用COS对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。
yuanfan2012
2021/01/28
3.9K0
如何通过 cos 托管静态网站
对象存储(Cloud Object Storage,简称:COS)是腾讯云提供的面向非结构化数据,支持 HTTP/HTTPS 协议访问的分布式存储服务,它能容纳海量数据并保证用户对带宽和容量扩充无感知,可以作为大数据计算与分析的数据池。腾讯云 COS 提供网页端管理界面、多种语言的 SDK 以及命令行和图形化工具,并且完全兼容 S3 的 API 接口,方便用户直接使用社区工具和插件,COS 还可以和其他云产品结合,比如利用 CDN 的全球节点提供加速服务,利用数据万象的图片处理能力提供一站式图片解决方案等。
用户3712604
2018/10/26
10.4K2
如何通过 cos 托管静态网站
《数据万象带你玩转视图场景》第一期:avif图片压缩详解
随着硬件的发展,不管是手机还是专业摄像设备拍出的图片随便可能就有几M,甚至几十M,并且现在我们处于随处可及的信息海洋里,海量的图片带来了存储问题、带宽问题、加载时延问题等等。对图片信息进行有效的压缩处理无疑会极大的降低存储成本、流量压力,并且还能显著提升页面加载速度。
jimmy老师
2023/03/06
7920
《数据万象带你玩转视图场景》第一期:avif图片压缩详解
推荐阅读
相关推荐
稳定且高性价比!腾讯云图床服务来了!
更多 >
LV.4
腾讯云云存储
目录
  • 一、时间戳转换日期
  • 二、合同日期计算
  • 三、根据开始日期,计算count天过后的日期
  • 四、计算n月之后的日期
  • 五、常用的Date对象方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档