js Date对象与字符串转换

把一个日期字符串如“2007-2-28 10:18:30”转换为Date对象:
var   s   =   "2005-12-15   09:41:30";  
var   d   =   new   Date(Date.parse(s.replace(/-/g,   "/")));  


把Date-Object转为字符串,同时,
如果输入时间在当前30秒内,显示“30秒内”;
1分钟内,显示“一分钟内”;
昨天,显示“昨天”
var bbLang = {
  NOW : "刚刚",
  BEFORE_OF_30_SECONDS : "30秒前",
  YESTERDAY : "昨天",
  TODAY : "今天",
}
  function getFormateDate (dateTime) {
    var hh, mm, ss;
    var dateStr = null;
    var timeStr = null;
    var now = new Date();// get now
    var diffDateTime = now - dateTime;

    // Get time:
    // if (dateTime-now) <= 30 second return "now"-string.
    // else if (dateTime-now) < 60 second return "60 second before"-string.
    // else timeStr is "hh:mm:ss"
    if (parseInt(diffDateTime / 1000, 10) <= 30) {
      return bbLang.NOW;
    } else if (parseInt(diffDateTime / 1000, 10) <= 60) {
      return bbLang.BEFORE_OF_30_SECONDS;
    } else {
      hh = parseInt(dateTime.getHours(), 10);
      mm = parseInt(dateTime.getMinutes(), 10);
      ss = parseInt(dateTime.getSeconds(), 10);
      timeStr = "" + formatNum(hh) + ":" + formatNum(mm) + ":" + formatNum(ss);
    }

    // Get date:
    // if today,dateStr is "today";
    // else if Yesterday ,dateStr is "Yesterday";
    // else dateStr is "yyyy-mm-dd".
    if (dateTime.toDateString() === now.toDateString()) {
      dateStr = bbLang.TODAY;
    } else if (parseInt(diffDateTime / (1000 * 3600 * 24), 10) === 1) {
      dateStr = bbLang.YESTERDAY;
    } else {
      dateStr = "" + dateTime.getFullYear() + "-" + dateTime.getMonth() + "-" + dateTime.getDate();
    }

    return dateStr + " " + timeStr;
  }

  function formatNum (v) {
    var s;
    if (v < 10) {
      s = "0" + v;
    } else {
      s = "" + v;
    }
    return s;
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值