使用 dayjs 格式化自定义日期

Format custom date using dayjs

我正在努力从 momentjs 迁移到 dayjs

如何使用 dayjs 将自定义日期格式格式化为标准日期格式。例如,我正在尝试将 YYYY-MM-DD+h:mm 格式的日期格式化为 YYYY-MM-DD。 dayjs 给了我一个 NaN

以这种方式与 moment 完美配合 -

moment(effectiveDate, 'YYYY-MM-DD+h:mm').format('YYYY-MM-DD')

我的代码库中有很多这样的情况,所以我尽量不依赖字符串操作来实现这一点。

我一直在使用这个 repl 来尝试一下

您可以这样做,希望这对您有所帮助

let customFormat = dayjs('2019-06-06+4:56'.replace('+','T')+':00').format('YYYY-MM-DD')
console.log('Custom format conversion1 - ', customFormat )

使用 dayjs 版本 1.8.20 并扩展 CustomParseFormat 包。

在 html 文件中:

...
<script src="https://unpkg.com/dayjs@1.8.20/dayjs.min.js"></script>
<script src="https://unpkg.com/dayjs@1.8.20/plugin/customParseFormat.js"></script>
...

首先让我们扩展 dayjs 对象:

dayjs.extend(window.dayjs_plugin_customParseFormat);

现在,您可以玩自己的格式了:

const dateString  = dayjs("2019-06-06+4:56", "YYYY-MM-DD+h:mm").format('YYYY-MM-DD');
console.log("Date: ", dateString);

输出:Date: 2019-06-06