一、时间戳转换日期

 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. Java并发工具类(三):控制并发线程数的Semaphore

    作用 Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源. 简介 Semaphore也是一个线程同步的辅助类,可以维护当前访问自身的线程个数 ...

  2. UWP 剪贴板 Clipboard

    Clipboard使用Windows.ApplicationModel.DataTransfer.Clipboard 设置文本 DataPackage dataPackage = new DataPa ...

  3. node.js学习笔记(一)——创建第一个应用

    巧妇难为无米之炊.要学习node.js,当然必须先有node.js环境(可以去官网 http://nodejs.cn/ 下载安装),如果还是不懂怎么配置开发环境,度娘会告诉你一切. 安装完成环境之后, ...

  4. PS入门到精通完全自学教程

    ps视频教程,ps自学视频教程.ps免费视频教程下载,PS入门到精通完全自学教程视频内容较大,分为俩部分: PS入门到精通完全自学教程-第一部分(带swf播放器):百度网盘,https://pan.b ...

  5. 怎么使用Spring配置事务 ?

    Spring同时支持编程式事务策略和声明式事务策略,大部分时候都采用声明式事务策略. 声明式事务管理的配置方式,通常有以下4种: (1) 使用TransactionProxyFactoryBean为目 ...

  6. c#多线程中Lock()关键字的用法小结

    本篇文章主要是对c#多线程中Lock()关键字的用法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助     本文介绍C# lock关键字,C#提供了一个关键字lock,它可以把一段 ...

  7. 大牛都是这样写测试用例的,你get到了嘛?

    1. 用于语句覆盖的基路径法 基路径法保证设计出的测试用例,使程序的每一个可执行语句至少执行一次,即实现语句覆盖.基路径法是理论与应用脱节的典型,基本上没有应用价值,读者稍作了解即可,不必理解和掌握. ...

  8. 关于Maven的一点理解

    maven是一个项目管理工具,主要作用是: 1.依赖管理(jar包,工程之间); 2.统一开发规范和工具.完成项目的一步构建 3.工程聚合.继承.依赖 其核心配置文件就是pom.xml:pom即Pro ...

  9. netcore如何引用package?

    netcore项目引用dll包,分如下三种: 1.引用网络包 从nuget获取,然后引入,使用命令:dotnet add package 包名 然后:dotnet restore 2.引用同解决方案的 ...

  10. Shader做剪影效果

    某渣渣甩了一个需求给我,并且说我不会写.我明知是激将法,但是想想这需求也太简单了,我好像也不怎么会QAQ.为了表示我对shader的热爱,写就写. 需求是这样的: 这是一个漂亮的MM,但是渣渣不想让人 ...