dayjs 实现n天后到期

文章介绍了如何使用dayjs库将字符串时间转换为表示到期日的更友好的文本,避免长数字影响用户体验。函数`timeOut`处理了n天后到期的显示逻辑,当日期超过0天时返回XX天后到期,否则提示已过期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录一下用dayjs 实现n天后到期,当个代码备份

// 将字符串时间转化成多久后到期
export function timeOut(sTime){
  if(sTime){
    const oDate = dayjs(sTime).hour(12).minute(0).second(0)
    const oNow = dayjs().hour(12).minute(0).second(0)
    const iDay = Math.ceil((oDate.unix() - oNow.unix())/86400)
    
    if(iDay >= 0){
      return `${iDay}天后到期`;
    } else {
      return '已过期'
    }
  }
  
  return '-'
}

一般不建议展示成这样,因为如果过期时间比较久,会是一长串的数字,用户体验很不好。

### Day.js 库简介 Day.js 是一种轻量级的 JavaScript 日期处理库,在处理和操作日期方面提供了简洁而强大的 API[^1]。 ### 安装方式 可以通过 npm 或者直接通过 `<script>` 标签引入: #### 使用 npm 安装 ```bash npm install dayjs --save ``` #### 浏览器环境加载 ```html <script src="https://unpkg.com/dayjs/min/dayjs.min.js"></script> ``` ### 基本用法示例 下面是一些常见的使用场景及其对应的代码实现: #### 获取并格式化当前时间 ```javascript const now = dayjs().format('YYYY-MM-DD HH:mm:ss'); console.log(now); ``` #### 创建特定日期的对象 ```javascript const specificDate = dayjs('2025-01-10').format('MMMM D, YYYY'); console.log(specificDate); // 输出 January 10, 2025 ``` #### 添加或减少指定的时间单位 ```javascript // 减少7年后的日期对象 let pastYear = dayjs().subtract(7, 'year'); // 向未来增加一的新日期对象 pastYear = pastYear.add(1, 'day'); console.log(pastYear.format('YYYY-MM-DD')); ``` #### 展示任务列表中的截止日期 ```javascript import dayjs from 'dayjs'; const tasks = [ { title: 'Task 1', dueDate: '2025-01-10' }, { title: 'Task 2', dueDate: '2025-01-15' }, { title: 'Task 3', dueDate: '2025-02-01' } ]; tasks.forEach(task => { const formattedDate = dayjs(task.dueDate).format('YYYY-MM-DD'); console.log(`Task: ${task.title}, Due Date: ${formattedDate}`); }); ``` 上述例子展示了如何创建、修改以及显示不同格式化的日期字符串,同时也说明了怎样在一个实际的应用程序中应用这些功能来管理数据[^5]。 ### 文档链接 更多详细的API介绍可以参阅官方文档[^3]: - [NPM Package](https://www.npmjs.com/package/dayjs) - [官方网站](https://day.js.org/)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值