Date日期对象
Sep 13, 2016Javascript日期操作
知识在于累积,感觉自己遗忘的速度有点快呀,连最基本的日期对象都记得不是特别牢固,今天阅读项目中的一段JSON字段,如下:
“from”: -4045717554,
“to”: -1219713505
看到这两个日期,我一脸茫然,负的毫秒数。找到使用处的代码。看到一个有意思的函数:
function cvtTime(tick){
var curDateTick = new Date().getTime();
tick = 0 - 100 * ((0 - tick) % 100000000);
return new Date(curDateTick + tick);
}
咋看之初,还是无法明白这是有什么用途,执行发现原来是给出相对当前时间的偏移量,计算出某个时间。
顺带回顾了一下日期对象:
var d = new Date();
d.getFullYear(); //年
d.getMonth()+1; //月
d.getDate(); //日
d.getHours(); //时
d.getMinutes(); //分
d.getSeconds(); //秒
d.getDay(); //星期
d.getTime(); //返回1970年1月1日至今的毫秒数
相应的有set方法。
常用的日期处理方法:
/* 说明:时间格式处理(年/月/日 时:分:秒)
* 返回值类型:对象
*/
function formatDate(DateIn) {
var Year = 0;
var Month = 0;
var Day = 0;
var Hour = 0;
var Minute = 0;
var Second = 0;
var CurrentDate = "";
var CurrentHms = "";//当前时分秒
//初始化时间
Year = DateIn.getYear() + 1900;
Month = DateIn.getMonth() + 1;
Day = DateIn.getDate();
Hour = DateIn.getHours();
Minute = DateIn.getMinutes();
Second = DateIn.getSeconds();
CurrentDate = Year + "/";
if (Month >= 10) {
CurrentDate = CurrentDate + Month + "/";
}
else {
CurrentDate = CurrentDate + "0" + Month + "/";
}
if (Day >= 10) {
CurrentDate = CurrentDate + Day;
}
else {
CurrentDate = CurrentDate + "0" + Day;
}
if (Hour >= 10) {
CurrentDate = CurrentDate + " " + Hour;
CurrentHms = CurrentHms + Hour;
}
else {
CurrentDate = CurrentDate + " 0" + Hour;
CurrentHms = CurrentHms + " 0" + Hour;
}
if (Minute >= 10) {
CurrentDate = CurrentDate + ":" + Minute;
CurrentHms = CurrentHms + ":" + Minute;
}
else {
CurrentDate = CurrentDate + ":0" + Minute;
CurrentHms = CurrentHms + ":0" + Minute;
}
if (Second >= 10) {
CurrentDate = CurrentDate + ":" + Second;
CurrentHms = CurrentHms + ":" + Second;
} else {
CurrentDate = CurrentDate + ":0" + Second;
CurrentHms = CurrentHms + ":0" + Second;
}
return {
CurrentDate: CurrentDate,// 年/月/日 时:分:秒
CurrentHms: CurrentHms // 时:分:秒
};
}
//将日期对象转换为字符串,格式为2016/05/05 12:05:24
function changeDateToString(DateIn) {
var Year = 0;
var Month = 0;
var Day = 0;
var Hour = 0;
var Minute = 0;
var Second = 0;
var CurrentDate = "";
//初始化时间
Year = DateIn.getYear() + 1900;
Month = DateIn.getMonth() + 1;
Day = DateIn.getDate();
Hour = DateIn.getHours();
Minute = DateIn.getMinutes();
Second = DateIn.getSeconds();
CurrentDate = Year + "-";
if (Month >= 10) {
CurrentDate = CurrentDate + Month + "-";
}
else {
CurrentDate = CurrentDate + "0" + Month + "-";
}
if (Day >= 10) {
CurrentDate = CurrentDate + Day;
}
else {
CurrentDate = CurrentDate + "0" + Day;
}
if (Hour >= 10) {
CurrentDate = CurrentDate + " " + Hour;
}
else {
CurrentDate = CurrentDate + " 0" + Hour;
}
if (Minute >= 10) {
CurrentDate = CurrentDate + ":" + Minute;
}
else {
CurrentDate = CurrentDate + ":0" + Minute;
}
if (Second >= 10) {
CurrentDate = CurrentDate + ":" + Second;
} else {
CurrentDate = CurrentDate + ":0" + Second;
}
return CurrentDate;
},
//将日期对象转换为字符串,格式为2016-05-05(无时分秒)
function changeDayToString (DateIn, showHour) {
var Year = 0;
var Month = 0;
var Day = 0;
var Hour = 0;
var Minute = 0;
var Second = 0;
var CurrentDate = "";
//初始化时间
Year = DateIn.getYear() + 1900;
Month = DateIn.getMonth() + 1;
Day = DateIn.getDate();
Hour = DateIn.getHours();
Minute = DateIn.getMinutes();
Second = DateIn.getSeconds();
CurrentDate = Year + "-";
if (Month >= 10) {
CurrentDate = CurrentDate + Month + "-";
}
else {
CurrentDate = CurrentDate + "0" + Month + "-";
}
if (Day >= 10) {
CurrentDate = CurrentDate + Day;
}
else {
CurrentDate = CurrentDate + "0" + Day;
}
if (!!showHour) {
if (Hour >= 10) {
CurrentDate = CurrentDate + " " + Hour;
}
else {
CurrentDate = CurrentDate + " 0" + Hour;
}
if (Minute >= 10) {
CurrentDate = CurrentDate + ":" + Minute;
}
else {
CurrentDate = CurrentDate + ":0" + Minute;
}
if (Second >= 10) {
CurrentDate = CurrentDate + ":" + Second;
}
else {
CurrentDate = CurrentDate + ":0" + Second;
}
}
return CurrentDate;
}