js应用中的小细节-时间戳的转换和input输入框有效数字

1 input输入框内value值保留有效数字,js自带的方法.toFixed(),但是直接使用会报错,因为不论输入框内输入汉字、字母还是数字,类型都是string。解决的办法是将其转换为number类型。parseInt()、parseFloat()就排上用场了,经过转换后,再使用.toFixed(),结果就是我们想要的;

1 var input = document.getElementById('#input');
2 console.log(parseFloat(input.value).toFixed(2));//保留2位有效数字
3 //toFixed(),括号内数字是想要保留的有效数字位数,

2 时间戳与标准时间的相互转换

1 //时间戳=>时间
2 function getLocalTime(nS) {
3   var dat = newDate(parseInt(nS)*1000).toLocaleString().replace(/:\d{1,2}$/, ' ');
4     var strs = dat.substr(0, 9);
5     return strs.split('/');
6 }
7 console.log(getLocalTime(1366666666))//返回的是数组["2013", "4", "23"]
//时间=>时间戳
function timetamp(y, m, d) {
    return(new Date(y, m, d, ).getTime() / 1000);
}
console.log(timetamp(2017, 8, 8))//输出是10位数的值 1504800000

 

 1 //时间戳转换为时间格式 yyyy-MM-dd hh:mm
 2 function getLocalTime(nS) {
 3     var dat = new Date(parseInt(nS) * 1000).format("yyyy-MM-dd hh:mm");
 4     return dat;
 5 }
 6 var time = getLocalTime(1500666666);
 7 Date.prototype.format = function(format) {
 8     var date = {
 9         "M+": this.getMonth() + 1,
10         "d+": this.getDate(),
11         "h+": this.getHours(),
12         "m+": this.getMinutes(),
13         "s+": this.getSeconds(),
14         "q+": Math.floor((this.getMonth() + 3) / 3),
15         "S+": this.getMilliseconds()
16     };
17     if(/(y+)/i.test(format)) {
18         format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
19     }
20     for(var k in date) {
21         if(new RegExp("(" + k + ")").test(format)) {
22             format = format.replace(RegExp.$1, RegExp.$1.length == 1 ?
23                 date[k] : ("00" + date[k]).substr(("" + date[k]).length));
24         }
25     }
26     return format;
27 }

 

posted @ 2017-09-08 21:11  web_study  阅读(1349)  评论(0编辑  收藏  举报

哈哈