一、时间戳转换日期

 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. CS100.1x-lab2_apache_log_student

    这次的作业主要用PySpark来分析Web Server Log.主要分成4个部分.相关ipynb文件见我github. Part 1 Apache Web Server Log file forma ...

  2. Spring学习----- Spring配置文件xml文档的schema约束

    1.配置文件示例. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="htt ...

  3. 2018年美国大学生数学建模竞赛(MCM/ICM) B题解题思路

    老套路,把我们在解决B题时候采用的思路分享给大家,希望大家能学到点东西~~~ B题思路整理:Part1:先整理出说某种语言多的十个国家给找出来,或者说是把十种语言对应的国家找出来 然后再对各个国家的人 ...

  4. lua编程之协程介绍

    一,lua协程简介 协程(coroutine),意思就是协作的例程,最早由Melvin Conway在1963年提出并实现.跟主流程序语言中的线程不一样,线程属于侵入式组件,线程实现的系统称之为抢占式 ...

  5. 宝塔中mysql数据库命名小坑

    今天在通过宝塔新建网站,添加mysql数据库,名字中间有下划线,发现能够创建成功,但是实际链接后,是没有这个数据库的.是宝塔的原因还是liunx服务器的原因? 不支持下划线的数据库名字吗? 比如 bo ...

  6. python快速入门——进入数据挖掘你该有的基础知识

    这篇文章是用来总结python中重要的语法,通过这些了解你可以快速了解一段python代码的含义 Python 的基础语法来带你快速入门 Python 语言.如果你想对 Python 有全面的了解请关 ...

  7. skipfish介绍

    skipfish 开发语言:C语言 命令行扫描器 主动扫描web安全评估工具 谷歌开发 已经不再进行维护 重点关注web代码 通过两种方式进项扫描:1.字典枚举 2.递归爬网 优点:速度快.支持多路单 ...

  8. PHPCMS 栏目添加字段和修改描述textarea变成fceditor编辑器

    一.添加字段方法: 1. 添加数据库字段:description1,添加位置:v9_catetory表 找到phpcms/moudles/admin/templates/category_add.tp ...

  9. 开源ITIL管理软件iTop 2.5-2.6安装

    环境说明 : 操作系统centos 7.itop版本 iTop-2.5.0-3935.数据库:mariadb iTop 2.5只支持PHP5.6以上版本,本例安装的是php72w版本 1.下载链接: ...

  10. 机器学习之k-最近邻(kNN)算法

    一.kNN(k-nearest neighbor)算法原理 事物都遵循物以类聚的思想,即有相同特性的事物在特征空间分布上会靠得更近,所以kNN的思路是:一个样本在特征空间中k个靠的最近的样本中,大多数 ...