
本文主要和大家分享js中时间获取函数详解,主要以代码的方式和大家分享,希望能帮助到大家。
/*
2018.03.29
时间函数文件(js 时间笔记)
*/
function TimeDate(p = null){
obj = new Date;
var time; // 准备返回
switch(true){
case (p === null):
time = Date.parse(new Date());
break;
case (isNaN(p)):
/*
传入时间格式,将转换当前时间
目前只有以下格式,需要的自行补充.
Y 1996 格式年份
m 03 格式月份
d 03 格式天数
H 23 格式小时
i 03 格式分钟
s 03 格式秒钟
参数:
"Y年m月d日 H时i分s秒"
返回:
"2018年03月29日 16时29分03秒"
*/
var arr = new Array;
arr = {"Y":"TimeYear","m":"TimeMonth","d":"TimeDay","H":"TimeHour","i":"TimeMinute","s":"TimeSecond"};
if(isNaN(parseInt(p))){
time = '';
for(var i = 0;i < p.length ; i++){
if(arr[p[i]] != undefined){
var fun = arr[p[i]];
eval('time += ' + fun + '();');
}else{
time += p[i];
}
}
}else{
/*
传入具体日期,将被返回时间戳
*/
time = new Date(p.replace(/-/g, '/')).valueOf();
}
break;
default:
/*
传入数字将直接被返回标准格式的日期(当然是我定的标准了)
*/
time = TimeYear(p) + '-' + TimeMonth(p) + '-' + TimeMonth(p) + ' ' + TimeHour(p) + ':' + TimeMinute(p) + ':' + TimeSecond(p);
}
return time; // 结果返回
}
/*
时间 年 1996 格式
*/
function TimeYear(num = null){
if(num === null){
var obj = new Date;
}else{
var obj = new Date(parseInt(num));
}
var Year = obj.getFullYear();
Year = ozeAdd(Year);
return Year;
}
/*
时间 月 03 格式
*/
function TimeMonth(num = null){
if(num === null){
var obj = new Date;
}else{
var obj = new Date(parseInt(num));
}
var Month = obj.getMonth()+1;
Month = ozeAdd(Month);
return Month;
}
/*
时间 天 03 格式
*/
function TimeDay(num = null){
if(num === null){
var obj = new Date;
}else{
var obj = new Date(parseInt(num));
}
var Day = obj.getDate();
Day = ozeAdd(Day);
return Day;
}
/*
时间 小时 03 格式
*/
function TimeHour(num = null){
if(num === null){
var obj = new Date;
}else{
var obj = new Date(parseInt(num));
}
var Hour = obj.getHours();
Hour = ozeAdd(Hour);
return Hour;
}
/*
时间 分钟 03 格式
*/
function TimeMinute(num = null){
if(num === null){
var obj = new Date;
}else{
var obj = new Date(parseInt(num));
}
var Minute = obj.getMinutes();
Minute = ozeAdd(Minute);
return Minute;
}
/*
时间 秒 03 格式
*/
function TimeSecond(num = null){
if(num === null){
var obj = new Date;
}else{
var obj = new Date(parseInt(num));
}
var Second = obj.getSeconds();
Second = ozeAdd(Second);
return Second;
}
// 补零函数
function ozeAdd(num){
if(!isNaN(num)){
num = parseInt(num); // 转换成整型用于计算
if(num < 10){
num = String(num); // 转换为字符串
num = '0' + num;
}
return num;
}else{
return num;
}
}