moment.js根据时间戳计算与当前时间相差多少天

news2025/1/11 19:51:17

Moment旨在在浏览器和Node.js中工作。

所有代码都应该在这两种环境中都有效,并且所有单元测试都在这两种环境中运行。

目前,以下浏览器用于ci系统:Windows XP上的Chrome,Windows 7上的IE 8,9和10,Windows 10上的IE 11,Linux上的最新Firefox以及OSX 10.8和10.11上的最新Safari。

如果您想尝试下面的示例代码,只需打开浏览器的控制台并输入它们即可。

Node.js

npm install moment
var moment = require('moment');
moment().format();

注意:2.4.0不推荐使用全局导出的时刻对象。它将在下一个主要版本中删除

浏览器

<script src="moment.js"></script>
<script>
    moment().format();
</script>

Moment.js可以在cdnjs.com 和 jsDelivr.

Bower

bower

bower install --save moment

值得注意的文件是moment.js, locale/*.jsmin/moment-with-locales.js.

Require.js

如果您计划使用Require.js,我们强烈建议您阅读 此内容。也升级到2.14.0或更高版本以获得最佳体验。

首先,您可能需要通过bower或node_modules或其他将moment.js与locales目录放在基本文件夹中的其他内容。然后你应该使用像adapt-pkg-main这样的工具 ,或者手动使用packages config.

解析

Date.prototypeMoment.js 不是修改本机,而是为Date对象创建一个包装器。要获取此包装器对象,只需moment()使用其中一种受支持的输入类型进行调用。

Moment原型是通过暴露moment.fn。如果你想添加自己的功能,那就是你要放置它们的地方。

为便于参考,Moment.prototype将在文档中引用任何方法moment#method。所以Moment.prototype.format == moment.fn.format == moment#format.

请阅读:

  • moment(...)是本地模式。模糊输入(无偏移)假定为本地时间。明确的输入(带偏移)调整为当地时间。
  • moment.utc(...)是utc模式。模糊输入假定为UTC。明确的输入调整为UTC。
  • moment.parseZone()保持输入区域的传入。如果输入不明确,则与本地模式相同。
  • moment.tz(...)使用moment-timezone插件可以解析特定时区的输入。

请记住,时区和时区偏移是两个不同的事情。偏移-08:00并不一定意味着您处于美国太平洋时区。


 

 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://cdn.staticfile.org/moment.js/2.29.1/moment.js"></script>
  </head>
  <body>
    <div class="m-single-play-info-playing"></div>
    <script>
      // let startDate = moment().utc().startOf('days').toISOString().valueOf()
      //今日凌晨的时间戳
      let startDate2 = moment().startOf('days').valueOf()
      let startDate3 = moment(startDate2).format('YYYY-MM-DD HH:mm:ss')
      //明日凌晨的时间戳
      let startDate4 = startDate2 + 60 * 60 * 24 * 1000
      let startDate5 = moment(startDate4).format('YYYY-MM-DD HH:mm:ss')
      console.log(startDate2, startDate3, startDate4, startDate5)

      let arr = [
        '1675316708176',
        '1675244950312',
        '1675075673685',
        '1675075454893',
        '1675075452233',
        '1675075449093',
        '1675075244558',
        '1675075218296',
        '1675075210765',
        '1675075207381',
      ]

      const fun = (arr) => {
        return arr.map((item) => {
          let createTime = item
          const interval = (startDate4 - createTime) / 1000
          let behaviorDate = ''
          if (interval < 60 * 60 * 24) {
            behaviorDate = '今天'
          } else if (interval < 60 * 60 * 24 * 2) {
            behaviorDate = '昨天'
          } else if (interval < 60 * 60 * 24 * 7) {
            let tempTime = Math.floor(interval / (60 * 60 * 24))
            behaviorDate = `${tempTime}天前`
          } else if (interval < 60 * 60 * 24 * 365) {
            behaviorDate = moment(createTime - 0).format('MM-DD')
          } else {
            behaviorDate = moment(createTime - 0).format('YYYY-MM-DD')
          }
          let dayCount = Math.floor(interval / (60 * 60 * 24))
          return {
            createTime,
            behaviorDate,
            dayCount,
          }
        })
      }
      let result = fun(arr)
      console.log(result)
    </script>
  </body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/193884.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小车程序、安装vs2019和必要的相关软件

环境 sqlserver2019 vs2019企业版本 安装vs2019步骤 小车程序 C# .net vs2019 sqlserver2019 小车程序地址 小车运行的几种轨迹 一&#xff0c;自动运行到指定节点 找到manual按钮&#xff0c;找到目的节点&#xff0c;search move。 二&#xff0…

[数学] 三次样条

三次样条 已知有一组点x0,x1,x2,⋯,xnx_0, x_1, x_2, \cdots, x_nx0​,x1​,x2​,⋯,xn​, 其中, xt<xt1x_t<x_{t1}xt​<xt1​, y(xt)yty(x_t)y_ty(xt​)yt​, 及该点处的切线y′(xt)yt′y(x_t)y_ty′(xt​)yt′​ 每两个相邻的点之间可以作一个三次曲线 在所有相邻…

let/const相关内容(二)

let/const作用域提升 1&#xff09;根据前面所学的内容知道&#xff0c;var定义的变量是可以作用域提升的。 console.log(foo); // undefined var foo "foo"虽然在第一行中foo还没有被定义&#xff0c;但是在执行代码前&#xff0c;会预编译&#xff0c;先定义f…

ModStartBlog v6.6.0 多语言增强,缓存后台优化

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用&#xff0c;支持后台一键快速安装&#xff0c;让开发者能快的实现业务功能开发。 系统完全开源&#xff0c;基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场&#xff0c;后台一键快速安装会…

【完美解决】Github action报错remote: Write access to repository not granted.

报错及效果图报错代码效果图解决方案必要步骤可能有效的步骤报错及效果图 本解决方案是笔者通过Github action运行项目时报错的解决方案&#xff0c;如果是本地运行报此错&#xff0c;未必有效果。 报错代码 remote: Write access to repository not granted. fatal: unable t…

密评FAQ:如何确定网络和通信安全层面的测评对象?

信息系统一般通过网络技术来实现与外界的互联互通&#xff0c;GB/T 39786-2021《信息安全技术信息系统密码应用基本要求》规定了信息系统在网络和通信安全层面的密码应用技术要求&#xff0c;这些要求涉及到通信的主体&#xff08;通信双方&#xff09;、信息系统与网络边界外建…

(1)深入理解Java虚拟机-内存模型

深入理解Java虚拟机 Java虚拟机运行时数据区 程序计数器 ​ 程序计数器&#xff08;Program Counter Register&#xff09;是一块较小的内存空间&#xff0c;它可以看作是当前线程所执行的 字节码的行号指示器。在Java虚拟机的概念模型里 [1] &#xff0c;字节码解释器工作时…

大学开学必备清单、大学生必备的五件电子产品

转眼间就到了新一年的春季开学&#xff0c;在校生进入了新的一个年级学习。电子产品早就成为每个人的必备&#xff0c;尤其是大学生在校时期&#xff0c;更是上网课、日常查询资料的必备&#xff0c;当然还有一些社交、娱乐的因素也都是通过各式各样的电子产品来满足和实现。接…

android12 rockchip预置APK流程

方法一&#xff1a; 根据RK文档&#xff0c; 预制APK很简单, 首先source 环境之后执行命令&#xff1a;get _build_var TARGET_DEVICE_DIR 查看目标文件夹&#xff0c; 例如: device/rockchip/rk3568s/ 这个目录有三个文件夹&#xff1a; preinstall 不可卸载 preinstall_del_f…

基于text2vec进行文本向量化、聚类

基于text2vec进行文本向量化、聚类基于text2vec进行文本向量化、聚类介绍安装安装text2vec库安装transformers库模型下载文本向量化使用text2vec使用transformers文本聚类训练流程&#xff1a;训练代码推理流程推理代码基于text2vec进行文本向量化、聚类 介绍 文本向量表征工…

21_ncwireshark

nc&wireshark 一、nc介绍 网上百度就有一堆介绍,平常主要用于监听和连接 二、nc判断端口是否开放 实验环境: win10虚拟机和kali虚拟机 win10虚拟机ip: 192.168.11.142 kali虚拟机ip: 192.168.11.131 此时win10虚拟机,开放了80端口,21端口,3306端口 在kali虚拟机使用…

【书】只会功能测试的我,核心竞争力在哪里?

在现实工作中&#xff0c;测试的工作在很多人眼里就是“点点点”&#xff0c;特别是在推进开发自测或者向上级回报的时候&#xff0c;测试的工作显得那么平白无奇。 不仅是在公司内部&#xff0c;在进行面试的时候也会被问到&#xff0c;你觉得你的优势在哪里&#xff1f; 以上…

BlockingQueue(阻塞队列)详解

一. 前言 在新增的Concurrent包中&#xff0c;BlockingQueue很好的解决了多线程中&#xff0c;如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类&#xff0c;为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员&…

上海亚商投顾:A股三大指数震荡涨跌各异 大消费全天活跃

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。市场情绪沪指今日窄幅震荡&#xff0c;创业板指小幅冲高后回落&#xff0c;科创50指数盘中涨近1.5%&#xff0c;随后涨幅明显…

gdb与gdbserver的使用

GDB调试示例以调试可执行程序gdbDebug为例&#xff0c;gdbDebug.cpp内容如下&#xff1a;使用gdb 启动gdbDebug程序左侧为gdb调试&#xff0c;右侧为gdbDebug.cpp内容GDB与GDBServer调试示例以调试可执行程序gdbDebug为例&#xff0c;gdbDebug.cpp内容如下&#xff1a;使用gdbs…

StarRocks荣获2022年度最具潜力数据库奖

近日&#xff0c;墨天轮颁布了《2022年度数据库获奖名单》&#xff0c;通过墨天轮排行榜排名及年度得分、生态建设、市场活动、市场份额、专利数等38个综合指标进行遴选&#xff0c;评选出2022年的数据库重要奖项&#xff0c;期望能够通过多维度评选&#xff0c;呈现出数据库产…

客户在国内,挑选海外服务器供应商有什么技巧?

​  一直以来&#xff0c;基于互联网管理的严格要求&#xff0c;在使用中国大陆服务器放置网站时&#xff0c;是需要备案手续的&#xff0c;这个手续时长快则7天&#xff0c;慢则也有接近1个月的情况&#xff0c;复杂耗时&#xff0c;当然&#xff0c;这也是对建站成本的增加…

程序员想兼职赚钱?这几个渠道你一定要知道?

某一天当一个程序员&#xff0c;一拍脑门想要兼职&#xff0c;赚点小钱&#xff0c;于是他打开了知乎&#xff0c;打开了百度搜索兼职。结果弹出了一大部分有兼职要视频剪辑的&#xff0c;写文稿的等等等等。逛了一圈&#xff0c;发现根本没有自己合适的兼职。 我想说&#xff…

0201 设置/修改元素内容和属性

document.write()方法文本内容追加到</body>前面的位置文本中标签会被解析<script>document.write(hello world)document.write(<h3>你好世界</h3>)</script>innerText属性将文本内容添加更新到任意标签位置文本包含的标签不会被解析<style&g…

JavaScript 类与类型判断

JavaScript中的数据类型 JavaScript的数据类型大致分为两种&#xff1a;原始类型、对象类型。 原始类型&#xff1a;数字Number、字符串String、布尔值boolean、以及两个特殊值(null、undefined). 对象类型&#xff1a;数组Array、函数Function、日期Date、正则RegExp、错误Err…