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'); //日期以/分割

发表评论

电子邮件地址不会被公开。 必填项已用*标注