JavaScript:日期处理
最近不管是工作还是私活常遇到日期处理;今天就抽空把这块拿出来写一下,大神可以绕路。
在程序里,日期主要构成部分包括:年、月、日、时、分、秒。JS可以获取本地浏览器的系统日期,下面举几个简单列子说一下:
1、获取日期的指定部分
js代码:
window.onload=function(){
//获取日期的指定部分
var date = new Date; //获取日期对象
console.log(date.getFullYear()+"年"); //获取年
console.log((date.getMonth()+1)+"月"); //获取月 函数默认0-11 所以要+1
console.log(date.getDate()+"日"); //获取日
console.log(date.getHours()+"时"); //获取时
console.log(date.getMinutes()+"分"); //获取分
console.log(date.getSeconds()+"秒"); //获取秒
}
2、当前时间的显示 (其实这个列子和上个列子差不多,但是我还是想写一下,嘿嘿...)
js代码:window.onload=function(){
function getNowTime(){
var date =new Date(); //获取日期对象
// 获取年月日时分秒本地系统的时间
return date.getFullYear()+"年" + (date.getMonth()+1)+"月" + date.getDate()+"日" + date.getHours()+"时" + date.getMinutes()+"分"+ date.getSeconds()+"秒"; }
//显示当前时间
document.getElementByIdx_x("nowTime").innerHTML = "时间:"+getNowTime();
};
如果要实时显示当前的时间的话,用 setInterval()每秒调用一次就可以了
3、日期格式化成字符串
东西方的日期显示格式不同,因为语言都是别人发明的,如果要显示国内的日期格式,开发人员必须在后台进行日期格式化操作。例如:默认格式为:MM-YYYY-DD h:m:s要求转换成YYYY/MM/DD h:m:s或YYYY:MM:DD h:m:s .
举个例子哈 要做这三种样子
格式1:2017-02-22 11:11:11
格式2:2017/02/22 11-11-11
格式3:2017:02:22 11:11:11
js代码: window.onload=function(){
//先日期格式化成字符串
function dateFormat(){
Date.prototype.format = function(f){
var date ={
"Y":this.getFullYear(),
"M":(this.getMonth()+1),
"D":this.getDate(),
"h":this.getHours(),
"m":this.getMonutes(),
"s":this.getSeconds()
},
d="", //初始化接受日期变量的对象
r=false, //判断是否存在待替换的字符
reg=null, //正则
-d=""; //日期
for (d in date)(){ //过滤日期标示符
reg= new RegExp("["+d+"]{1,}","g"); //判断是否有待格式化的字符
r=reg.test(f);
if(r){ //验证是否存在
_d=date[d]; //被替换的日期
f=f.replace(reg,-d<10?("0"+_d):_d);
}
}
return f;
}
}
var d =new Date();
dateFormat();
document.getElementByIdx_x("time1").innerHTML="格式1:"+d.format("YYYY-MM-DD h:m:s");
document.getElementByIdx_x("time2").innerHTML="格式2:"+d.format("YYYY/MM/DD h/m/s");
document.getElementByIdx_x("time3").innerHTML="格式3:"+d.format("YYYY:MM:DD h:m:s");
};
html代码:
由于时间关系,每天还要工作,今天就分享三个简单例子,其实我还准备了好几个列子,明天分享!