一、时间戳转换日期

 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. 传输控制协议--- Transmission Control Protocol (TCP)

    Transmission Control Protocol (TCP) 用于网络通信的传输控制和网络协议套件,包括很多协议,其中最主要的是TCP和IP协议.TCP/IP属于UNIX类系统的内置协议,被 ...

  2. python包管理工具pip

    你可以使用一个名为 pip 的程序来安装.升级和移除软件包.默认情况下 pip 将从 Python Package Index <https://pypi.org> 安装软件包.你可以在浏 ...

  3. 戴尔win10重新安装win7系统

    戴尔v5468电脑win10重装回win7系统 首先是公司需要用到ie8来执行公司的项目维护,都是很早之前的项目了,因为是对接政府相关的业务,不怎么有把握对项目进行稳定更新,所以我就为这个ie8操碎了 ...

  4. 关于MySql数据库主键及索引的区别

    一.什么是索引?索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里 ...

  5. 关于几个与IO相关的重要概念

    1.读/写IO 读IO就是发指令从磁盘读取某段序号连续的扇区内容.指令一般是通知磁盘开始扇区位置,然后给出需要从这个初始扇区往后读取的连续扇区个数,同时给出动作是读还是写.磁盘收到这条指令就会按照指令 ...

  6. 【Py大法系列--01】20多行代码生成你的微信聊天机器人

    前言 近期Stack Overflow公布了一项调查显示,Python已经成了发展最快的主流编程语言,Python搭乘着数据科学和机器学习以及人工智能的浪潮,席卷了整个技术圈.越来越多的人想了解.想学 ...

  7. Spring自定义标签解析与实现

           在Spring Bean注册解析(一)和Spring Bean注册解析(二)中我们讲到,Spring在解析xml文件中的标签的时候会区分当前的标签是四种基本标签(import.alias ...

  8. Vue 入门之概念

    Vue 简介 Vue 是一个前端的双向绑定类的框架,发音[读音 /vjuː/, 类似于 [view].新的 Vue 版本参考了 React 的部分设计,当然也有自己独特的地方,比如 Vue 的单文件组 ...

  9. Scrum Meeting 4 -2014.11.8

    开始了apec的放假,希望大家能处理好工作与休息的时间分配,不要玩疯了啊. 各任务都开始实现了自己的算法,需要部署的服务器我也进去看了看情况,希望最后能部署成功. 最近发现的一些关于上一届实现的问题, ...

  10. 进阶系列(4)—— C#文件与流

    一. 驱动器 在Windows操作系统中,存储介质统称为驱动器,硬盘由于可以划分为多个区域,每一个区域称为一个驱动器..NET Framew   ork提供DriveInfo类和 DriveType枚 ...