一、时间戳转换日期

 function formatDate(datetime) {
// 获取年月日时分秒值 slice(-2)过滤掉大于10日期前面的0
var year = datetime.getFullYear(),
month = ("0" + (datetime.getMonth() + 1)).slice(-2),
date = ("0" + datetime.getDate()).slice(-2),
hour = ("0" + datetime.getHours()).slice(-2),
minute = ("0" + datetime.getMinutes()).slice(-2),
second = ("0" + datetime.getSeconds()).slice(-2);
// 拼接
var result = year + "-"+ month +"-"+ date +" "+ hour +":"+ minute +":" + second;
// 返回
return result;
} var date = new Date();
console.log(formatDate(date)); // 2018-05-26 23:09:26

二、合同日期计算

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

 //date: 日期字符串yyyy-MM-dd,如:2016-02-14
//years:年份,正整数字符串
//返回日期字符串yyyy-MM-dd,如:2016-02-14
function dateAddYear(date, years) {
var now = new Date(date);
var intYear = now.getFullYear() + parseInt(years);
var intMonth = now.getMonth() + 1; //正常的月份,
var intDay = now.getDate() - 1; //日期-1
if (intDay == 0) {
intMonth--; //减少一个月
if (intMonth == 0) {
intYear--; //0:减少一年
intMonth = 12;
intDay = 31;
}
else if (intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) {
intDay = 30; //4,6,9,11:30天
}
else if (intMonth == 2) {
intDay = 28; //2:28/29
if (intYear % 4 == 0) {
intDay = 29;
}
} else {
intDay = 31; //1,3,5,7,8,10,12 :31天
}
} var strMonth = (intMonth) < 10 ? "0" + (intMonth).toString() : (intMonth).toString();
var strDay = (intDay) < 10 ? "0" + (intDay).toString() : (intDay).toString();
var strEndDate = intYear + "-" + strMonth + "-" + strDay;
return strEndDate;
} console.log(dateAddYear('2018-6-10','2')); // 2020-06-09

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

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

count是指多少天,整型数

注意:setDate和getDate结合使用

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

 function calculateDate(beginDate,count){
var date = new Date(beginDate);
date.setDate(date.getDate() + count);
var year = date.getFullYear();
var month = ("0" + (date.getMonth()+1)).slice(-2);
var day = ("0" + date.getDate()).slice(-2);
var hours = ("0" + date.getHours()).slice(-2);
var minute = ("0" + date.getMinutes()).slice(-2);
var second = ("0" + date.getSeconds()).slice(-2); var endDate = year + "-"+ month +"-"+ day +" "+ hours +":"+ minute +":" + second; return endDate;
} console.log(calculateDate('2018-5-26 23:50:32',30)); // 2018-06-25 23:50:32

四、计算n月之后的日期

 function addMonth(date,monthNum){
var str = date.split('-');
var day = parseInt(str[2]);
var nextMonth = new Date( str[0], parseInt(str[1])+monthNum, 0);
var max = nextMonth.getDate();
endDate = new Date( str[0],str[1]-1+monthNum,day>max? max: day );
return endDate.toLocaleDateString().match(/\d+/g).join('-');
} console.log(addMonth("2018-12-12",12));
 function addMonth(date,monthNum){

    var str = date.split('-');
var oldDate = new Date(str[0], parseInt(str[1]), 0);
var oldDay = oldDate.getDate();
console.log(oldDay);
var day = parseInt(str[2]);
var nextMonth = new Date( str[0], parseInt(str[1])+monthNum, 0);
var max = nextMonth.getDate();
if(day >28 && day < 31){
max = max - (oldDay - day);
console.log(max);
}
endDate = new Date( str[0],str[1]-1+monthNum,day>max? max: day );
return endDate.toLocaleDateString().match(/\d+/g).join('-');
} 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 对象的原始值。

js时间戳转换日期格式和日期计算的更多相关文章

  1. js 时间戳转特定格式的日期

    var Tools = {}; Tools.formatDate = function (fmt,timestamp) { if(timestamp){ var date = new Date(par ...

  2. js时间戳转换日期

    //js时间戳转换日期function formatDate(now) { var year=now.getFullYear(); var month=now.getMonth()+1; var da ...

  3. js时间戳和时间格式之间的转换

    //时间戳转换成日期时间2014-8-8 下午11:40:20 function formatDate(ns){ return new Date(parseInt(ns) * 1000).toLoca ...

  4. AngularJS过滤器filter-时间日期格式-渲染日期格式-$filter

    今天遇到了这些问题索性就 写篇文章吧 话不多说直接上栗子 不管任何是HTML格式还是JS格式必须要在  controller 里面写 // new Date() 获取当前时间 yyyy-MM-ddd ...

  5. js日期格式,日期对象

    以对象为基准去使用方法, 围绕Date对象 var a = new Date() 返回当前的时间对象,可以使用内置的日期对象的方法 a.getFullYear(), a.getMonth(), a.g ...

  6. js 时间戳转换成时间格式,可自定义格式

    由于 c# 通过ajax获取的时间 传到前台 格式为:/Date(1354116249000)/ 所以需要转换一下,想要什么格式 更改 format() 里的 返回语句 就可以了 formatDate ...

  7. JS如何将CST格式的日期转换为制定格式String

    <html> <body> <script type="text/javascript"> var d = new Date() dateFor ...

  8. JS时间戳转换成时间格式

    TimeNow: function (val) { var date = new Date(val); var Y = date.getFullYear(); var m = date.getMont ...

  9. SQL Server 日期格式和日期操作

    SQL Server发展至今,关于日期的格式的控制方法,有传统的方法,比如CONVERT(),也有比较便利的新方法,比如FORMAT():同样,关于日期的操作函数,也分为传统方法:DATEADD()等 ...

随机推荐

  1. HTML5和CSS基础

    1 HTML 基本语法 html标签 单标签 <img /> .<img> 双标签 <html> </html> 属性 属于标签 <img src ...

  2. How to create a custom action type with a custom control (BarCheckItem), associated with it

    https://www.devexpress.com/Support/Center/Example/Details/E1977/how-to-create-a-custom-action-type-w ...

  3. 搭建OpenSTF+Jenkins持续集成环境的协同开发

    最近在研究如何将OpenSTF与Jenkins进行协同开发,刚刚爬梯子看了些资料,赶紧记录下来. 转载请注明出处:https://www.cnblogs.com/v88v/p/10405338.htm ...

  4. node.js主从分布式爬虫

    前言 前文介绍过用Python写爬虫,但是当任务多的时候就比较慢, 这是由于Python自带的http库urllib2发起的http请求是阻塞式的,这意味着如果采用单线程模型,那么整个进程的大部分时间 ...

  5. SDN学习笔记

    SDN 什么是SDN SDN是一种框架和思想,核心诉求是通过软件控制网络,实现业务的自动化部署,为方便软件来控制网络,希望控制面和转发面是分离的. 例如,传统的交换机内部,由交换机负责具体的网络流量往 ...

  6. MATLAB2018a与2016b分类学习模型Java库向上兼容操作

    matlab2016版本无法兼容matlab2018版本Classification Learner创建的分类器 在java环境下,使用matlab2016版本调用matlab2018版本Classi ...

  7. Linux(Contos7.5)环境搭建之Gitblit安装(三)

    1.yum安装git(这一步暂时不清楚是否必要,因为在window上搭建并不需要)

  8. stat命令详解

    基础命令学习目录首页 原文链接:https://blog.csdn.net/yexiangcsdn/article/details/81012732 stat命令用于显示文件的状态信息.stat命令的 ...

  9. 第十周psp作业

    本周psp 本周进度条 代码累积折线图 博文字数累积折线图 饼状图

  10. BugPhobia准备篇章:Beta阶段前后端接口文档

    0x00:序言 Two strangers fell in love, Only one knows it wasn’t by chance. To the searching tags, you m ...