js获取本地时间

小伙伴们平时开发过程中,对获取到的本地时间有没有进行一些特殊的处理啊。比如页面需要展示这样的时间:2021.07.22、2021/07/22、2021-07-22等 。

下面我们封装一个方法,可以获取自定义格式的日期格式,可自定义精确到年月日时分秒哦~ 上代码:

/**
 *
 * @param {number|string} timestamp,默认是当前时间戳
 * @param {string} format 'year' || 'month' || 'day' || 'hour' || 'minute' || 'second' 默认到秒 second
 *  @param {string} divider 年月日之间的间隔符,默认是 -
 * @returns
 */
export function getDate(timestamp, format, divider='-') {
  if (timestamp && isNaN(timestamp)) return false;
  if ((timestamp + '').includes('.')) return false;
  var _timestamp = timestamp || new Date().getTime();
  function add0(m) { return m < 10 ? '0' + m : m };
  var time = new Date(Number(_timestamp));
  var y = time.getFullYear();
  var m = time.getMonth() + 1;
  var d = time.getDate();
  var h = time.getHours();
  var mm = time.getMinutes();
  var s = time.getSeconds();
  switch (format) {
    case 'year':
      return y;
    case 'month':
      return y + divider + add0(m);
    case 'day':
      return y + divider + add0(m) + divider + add0(d);
    case 'hour':
      return y + divider + add0(m) + divider + add0(d) + ' ' + add0(h);
    case 'minute':
      return y + divider + add0(m) + divider + add0(d) + ' ' + add0(h) + ':' + add0(mm);
    case 'second':
      return y + divider + add0(m) + divider + add0(d) + ' ' + add0(h) + ':' + add0(mm) + ':' + add0(s);
    default:
      return y + divider + add0(m) + divider + add0(d) + ' ' + add0(h) + ':' + add0(mm) + ':' + add0(s);
  }
}

 效果图:

 更多项目中常见的方法封装,传送门https://github.com/wangruibin666/wang-utils 

脚踏实地行,海阔天空飞~

JavaScript中,有多种方法可以获取本地时间。 ### 直接使用`Date`对象 创建一个`Date`对象,该对象默认表示当前本地时间。然后可以使用`Date`对象的方法获取年、月、日、时、分、秒等信息。示例代码如下: ```javascript const date = new Date(); const year = date.getFullYear(); const month = date.getMonth() + 1; const day = date.getDate(); const hours = date.getHours(); const minutes = date.getMinutes(); const seconds = date.getSeconds(); const result = year + "年" + month + "月" + day + "日" + hours + ":" + minutes + ":" + seconds; console.log(result); ``` 上述代码通过创建`Date`对象并调用其`getFullYear()`、`getMonth()`等方法获取本地时间的各个部分,并将其组合成一个字符串输出到控制台,这是一种常见的获取本地时间并格式化输出的方式[^3]。 ### 使用`Date.now()`方法 `Date.now()`方法返回自1970年1月1日00:00:00 UTC以来的毫秒数。可以将这个时间戳转换为`Date`对象,再获取具体的时间信息。示例代码如下: ```javascript const currentTimestamp = Date.now(); const currentDate = new Date(currentTimestamp); const hours = currentDate.getHours(); const minutes = currentDate.getMinutes(); const seconds = currentDate.getSeconds(); console.log(`当前时间:${hours}:${minutes}:${seconds}`); ``` 此方法先获取当前时间戳,再将其转换为`Date`对象,进而获取小时、分钟和秒信息,这也是一种获取本地时间的有效方式[^2]。 ### 格式化获取本地时间 可以将获取本地时间进行格式化处理,例如将个位数的月、日、时、分、秒前面补零。示例代码如下: ```javascript function getFormattedTime() { const now = new Date(); const year = now.getFullYear(); let month = now.getMonth() + 1; let day = now.getDate(); let hours = now.getHours(); let minutes = now.getMinutes(); let seconds = now.getSeconds(); month = month < 10 ? '0' + month : month; day = day < 10 ? '0' + day : day; hours = hours < 10 ? '0' + hours : hours; minutes = minutes < 10 ? '0' + minutes : minutes; seconds = seconds < 10 ? '0' + seconds : seconds; return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; } const formattedTime = getFormattedTime(); console.log(formattedTime); ``` 该函数会返回一个格式化后的本地时间字符串,方便在实际应用中使用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值