记录前端工作中用的一些常用的函数(一)
//时间戳转日期 function getLocalTime(nS) { var date = new Date(nS * 1000); var year = date.getFullYear(); var month = date.getMonth() + 1; month = month > 9 ? month : ("0" + month); var day = date.getDate(); day = day > 9 ? day : ("0" + day); return year + "-" + month + "-" + day; } /** * @param nS为秒参数,默认return的日期分隔符为"-",形如“2017-12-22" * @returns {string} */ //时间戳转时间字符串 function getLocalDateTime(nS, dateSplitChar, length) { var date = new Date(nS * 1000); var year = date.getFullYear(); var month = date.getMonth() + 1; month = month > 9 ? month : ("0" + month); var day = date.getDate(); day = day > 9 ? day : ("0" + day); var hour = date.getHours(); hour = hour > 9 ? hour : ("0" + hour); var minutes = date.getMinutes(); minutes = minutes > 9 ? minutes : ("0" + minutes); var seconds = date.getSeconds(); seconds = seconds > 9 ? seconds : ("0" + seconds); var str = year + dateSplitChar + month + dateSplitChar + day + " " + hour + ":" + minutes + ":" + seconds; return str.substr(0, length); } /** * @param nS 时间戳秒参数 * @param dateSplitChar 时间字符串中日期之间的分隔符 * @param length 默认显示到秒,截取字符串长度 * @returns {string} */
//根据时间字符串计算时间戳,自适应字符串的长度,但不能自定义分隔符 function calcTimestamp(datestr) { var arr = datestr.split(" "); var date = arr[0];//日期 var arr0 = date.split("-"); var year = 2017, month = 0, day = 1; switch (arr0.length){ case 0:break; case 1:year = arr0[0];break; case 2:year = arr0[0], month = arr0[1]-1;break; case 3:year = arr0[0], month = arr0[1]-1, day = arr0[2];break; } var hour = 0, minute = 0, second = 0; if(arr.length>1){ var time = arr[1]; var arr1 = time.split(":"); switch (arr1.length){ case 0: break; case 1: hour = arr1[0];break;//时 case 2: hour = arr1[0], minute = arr1[1];break;//时、分 case 3: hour = arr1[0], minute = arr1[1], second = arr1[2];break;//时、分、秒 } } return Date.parse(new Date(year, month, day, hour, minute, second))/1000; } }/** * 不能自定义分隔符 * @param datestr 形如“2017-12-22 12:46:23”的时间字符串 * @returns {number} 单位为秒 */