JavaScript 根据给定的时间获取 Unix 时间戳
因为项目需要,今天写了一个JS版的根据给定的时间获取Unix时间戳的转换函数,不多废话,直接上代码。
/*!
* 根据给定的时间获取Unix时间戳
* @time : 时间;字符:'yyyy-mth-dd hh:mm:ss'
* @tzone: 时区;整数:[-12,+12]
*/
function timestamp(time, tzone) {
if(time) {
var t = time.match(/((\d{4})\D(\d\d)\D(\d\d))(\s(\d\d)\D(\d\d)\D(\d\d))?/) || [];
if(t[8]) time = new Date(t[2], t[3]-1, t[4], t[6], t[7], t[8]);
else if(t[4]) time = new Date(t[2], t[3]-1, t[4]);
else return 0;
}
return Math.round((time||new Date()).getTime()/1000)+(tzone||8)*3600;
}
上述函数支持以下四种格式的参数:
timestamp(); //当前时间戳
timestamp('1970-01-01'); //表示当日0点
timestamp('1970-01-01 00:00:01'); //日期以-分割
timestamp('1970/01/01 00:00:01'); //日期以/分割