问题标签 [dayjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typescript - 带有dayjs相对时间的打字稿警告
我正在使用 dayjs 相对时间,它按预期工作,但我无法修复打字稿警告
我收到 2 个警告:
- 类型'typeof import(“dayjs”)'上不存在属性'extend'。
- 此表达式不可调用。类型 'typeof import("dayjs")' 没有调用签名。
javascript - day.js 不支持以周为单位的相对时间
我刚刚从 moment.js 迁移到 day.js。迁移非常顺利,但 day.js 并没有提供以周为单位的相对时间。我在 moment.js 中所做的
使用上述相对时间配置,我得到了所需的输出,例如2 weeks ago
.
迁移到 day.js 后,现在我的配置是
在 day.js 中使用上述配置,我收到以下错误。
当我删除
并将当天的阈值更改为 30,
从 day.js 配置,然后它工作正常,我得到了类似13 days ago
.
所以,我的问题是,是否有任何解决方法可以在几周而不是几天内获得输出?
javascript - 您可以将 .format() 和 .form() 与 dayjs 一起使用吗
我正在开发一个 Angular 8+ 项目(所以我使用的是 Typscript),我有一个包含一些数据的表格,我需要为每一行显示两个日期之间的时间差。在我使用 Dayjs 的项目中。
一开始我使用的是这个功能:
它返回这样的数据(2 days
- 2 years
- one day
....)
但是这个代码有一个问题,当有一个 1 (天或其他什么)时,它是用文本而不是数字写的,我只想要数字。(该函数应该返回一个字符串,但我想要这种格式1 year
而不是one year
)。
所以我尝试了这个
(isNaN 来自 loadash)
它运行良好,但有一个问题......第二个函数的输出是some seconds
,所以我的新代码返回1 seconds
语法错误(因为只有一秒钟)。
我知道有一个.format()
用 day js 调用的方法,但我只是不知道如何正确使用它,因为格式并没有真正修复(我希望它可能相关的月、年、分钟的结果)。
有人可以帮我吗?
另外我想避免自定义解析和删除字符串末尾无用的 s (如果可能的话)。
提前致谢
javascript - Momentjs 没有将某些西班牙月份转换为 UTC
我正在开发一个支持两种语言(英语和西班牙语)的 React Native 应用程序。用英语获取日期很好,但对于西班牙语,Momentjs 无法在某些月份(西班牙语)中将其转换为时刻对象,例如 Abril,它会抛出 Invalid date 作为输出,而像 Septiembre 这样的其他月份工作正常并且正在转换到瞬间对象。
我的目标是将所有西班牙日期/月份转换为时刻对象,以便可以将其转换为其他格式,例如 DD/MM/YYYY,也可以使用 momentJS 进行验证。
这是游乐场的链接 - https://replit.com/@DevAk1/MomentJSSpanishDate#src/App.jsx
javascript - 如何对 dayjs() 时间进行排序?
我有一个像这样的对象数组:
我想对这些从最早到最新的使用进行排序,dayjs()
这是我们在项目的其余部分使用的,所以我必须坚持下去。
目前我正在尝试像这样使用这个功能:
我希望数组像这样排序:
但是,出于某种奇怪的原因,它的排序如下:
关于为什么以及如何解决这个问题的任何想法?
javascript - 给定一个 ISO 日期,以 ISO 字符串范围的形式获取星期几
假设我有一个 ISO 日期,例如2021-09-18T20:18:27.000Z
- 我想以数组的形式获取过去一周的日期
- 该数组应该是一组数组,其中包含两个 ISO 日期,分别代表一天的开始和结束,如下图所示:
例如
输入:
输出:
我已经用 dayjs 试过了,这会导致数组表示从特定日期开始的确切间隔:
谢谢
javascript - dayjs(date).format 为一个输入与其他输入给出错误的日期
对于“23-SEP-2021 00:00”的输入日期,我们得到的输出是 2021 年 9 月 22 日,但是对于
“17-SEP-2021 00:00:00”于 2021 年 9 月 17 日返回。
代码如下所示:
我一直在看dayjs format,但我不确定是什么原因造成的。我怀疑我的输入月份是缩写的(但可能不是因为两者都使用 SEP),或者是时间中的不同数字(00:00 与 00:00:00)。在线搜索我无法确认这是时间数字差异。任何想法,或者为什么它会是时间部分?
更新:我正在尝试使用 jsfiddle 或 chrome 控制台来尝试这个,所以我不必修改整个网页来查看会发生什么变化。我尝试了 codePen Playground,但我认为我没有看到如何在那里运行它。如图所示,我还尝试了chrome 开发控制台,但出现了我不知道如何修复的错误:
尝试一个片段,它给出了关于 dayjs 未定义的错误。我一定做错了什么。我使用了这个例子,但是这个例子没有提供关于如何包含 dayjs 的信息。我在那里有dayjs,但由于某种原因,它只在我编辑问题时显示。
Update2:查看module,似乎这可能适用,但我不知道如何将它与我的代码片段一起使用。有任何想法吗?
更新3:添加到试图添加时区但将日期字符串变为时区的片段中,正在返回时间而不是日期,这是 dayjs 不喜欢的。如何使用时区格式化?
javascript - dayjs - 计算小时之间的差异并在几分钟内返回
给定两个时间参数,例如:“13:00”和“00:00”如何向后计算差异并以分钟为单位返回?我的预期结果是 780。参数可以是 13:30。13:45 等
API 文档没有帮助,https://day.js.org/docs/en/display/difference,每个人都在计算日期差异,而不是小时。
谢谢!
dayjs - Dayjs 中的 isSame 方法是否会自动将日期转换为 UTC?
我们在 Dayjs 中的 isSame 方法存在问题,因此我们将不胜感激。让我通过一个说明性的例子来解释我的观点。我们有两个 dayjs 对象,即:date 和 breakStartTest,它们在 00.00(当地时间)或 1637103600000 毫秒(见下面的查询)时都有以下值 2021-11-17。
date.isSame(breakStartTest, 'day') //false
此外,我们处于 CEST 时区。如果两个 dayjs 对象都采用本地时区,那么我们期望 isSame 返回 true,这意味着它们都发生在同一天。但是,在我们的例子中 isSame 返回 false。我们的理论是日期对象(参见上面的代码)假定本地时间,而 breakStartTest 对象自动转换为 UTC。下面的查询进一步证实了这一理论,我们将日期对象转换为 UTC 并且返回值为 true:
我们进行了几次测试,所有测试都给出了相同的结果。我在下面附上了一张图片来说明我的观点(请原谅我的艺术品)
reactjs - 使用 dayjs 禁用银行假日
我有一个使用@material-ui/picker 的日期选择器。我正在使用days.js。我有我的日期选择器:
但是,我想在我的日期选择器中禁用所有 nl bankholdiyas(荷兰的法定假日)。但它不起作用。我能得到一些帮助吗?