最近因要用到Timespan 进行数据辅助验证,重新复习了下常用日期方法.用getTime()就可以得到1970 年 1 月 1 日以来的毫秒数,good.
其他
一、日期获取方法
获取方法用于获取日期的某个部分(来自日期对象的信息)。下面是最常用的方法(以字母顺序排序):
方法 描述
getDate() 以数值返回天(1-31)
getDay() 以数值获取周名(0-6)
getFullYear() 获取四位的年(yyyy)
getHours() 获取小时(0-23)
getMilliseconds() 获取毫秒(0-999)
getMinutes() 获取分(0-59)
getMonth() 获取月(0-11)
getSeconds() 获取秒(0-59)
getTime() 获取时间(从 1970 年 1 月 1 日至今)
getTime() 方法
getTime() 方法返回自 1970 年 1 月 1 日以来的毫秒数:
实例
var d = new Date();
document.getElementById(“demo”).innerHTML = d.getTime();
Reference from :https://www.w3school.com.cn/js/js_date_methods.asp
二、日期設置方法
1. 日期加上天數
function DateAdd(sdate, days) {
if (typeof (sdate) == "string")
sdate = sdate.replace(/\-/g, "/");//转化为 / 式
var a = new Date(sdate);
a = a.valueOf();
a = a + days * 24 * 60 * 60 * 1000;
a = new Date(a);
return a;
}
或
function DateAdd_BySetDate(sdate, days) {
//if (typeof (sdate) == "string")
// sdate = sdate.replace(/\-/g, "/");//转化为 / 式
var date = new Date(sdate);
date.setDate(date.getDate() + days);
return date;
}
或
1. 增加日期對象屬性
Date.prototype.addDays = function(days) {
this.setDate(this.getDate() + days);
return this;
}
2. 使用:
var today = new Date();
today.addDays(7)
增加月數用setMonth,方法相似。
2. 格式化日期為 yyyy-MM-dd
//格式化日期:yyyy-MM-dd
function formatDate(sdate) {
if (typeof (sdate) == "string")
sdate = sdate.replace(/\-/g, "/");//转化为 / 式
var date = new Date(sdate);
var myyear = date.getFullYear();
var mymonth = date.getMonth() + 1;
var myweekday = date.getDate();
if (mymonth < 10) {
mymonth = "0" + mymonth;
}
if (myweekday < 10) {
myweekday = "0" + myweekday;
}
return (myyear + "-" + mymonth + "-" + myweekday);
}
/**
-
日期增加n月
-
@param dateStr 当前日期
-
@param num 月
-
@param type 0:2022-05-30 1:2022-05-30 11:11:11
-
@returns {string}
/
function commonAddMouth(dateStr,num,type) {
var monthnum = 0;
if (typeof (num) == “string”){
monthnum = parseInt(num);
}else{
monthnum = num;
}
var date= new Date(dateStr);
//获取原日
var day = date.getDate();
//获取原月份
var month=date.getMonth();
//设置增加月份
date.setMonth(date.getMonth() + (monthnum1), 1);
//获取增加的后的月份
var Jmonth = date.getMonth()+1;
//获取增加的后的年份
var Jyear=date.getFullYear();
if(Jmonth == 4 || Jmonth == 6 || Jmonth == 9 || Jmonth == 11) {
//小月
if (day > 30) {
day = 30;
}
}else if (Jmonth == 2) {
//2月判断是否闰年
if(((Jyear % 4) == 0) && ((Jyear % 100) != 0) || ((Jyear % 400) == 0)){
if (day > 29) {
day = 29;
} else {
day = 28;
}
}
if (day > 28) {
day = 28
}}else{
//大月
if (day > 31) {
day = 31;
}
}
var tHours = date.getHours();
var tMinutes = date.getMinutes();
var tSeconds = date.getSeconds();
Jmonth = doHandleMonth(Jmonth);
day = doHandleMonth(day);
if(type==“0”){
return Jyear+“-”+Jmonth+“-”+day;
}
return Jyear+“-”+Jmonth+“-”+day+" “+tHours+”:“+tMinutes+”:"+tSeconds;
}
/**
- 日或月补0
- @param month
- @returns {string}
*/
function doHandleMonth(month){
var m = month;
if(month.toString().length == 1){
m = “0” + month;
}
return m;
}