问题标签 [toisostring]

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.

0 投票
0 回答
198 浏览

angular - 尝试使用 XLSX.writeBuffer() 时出现 Angular 应用程序错误

xlsx.writeBuffer()尝试在我的 Angular 应用程序中使用该方法尝试将 Excel 文件下载到客户端浏览器时,我遇到了一个神秘的错误。

在完成需要对工作簿进行的所有更改后,我尝试使用以下代码下载它:

但由于某种原因,控制台总是会打印以下错误:

错误错误:未捕获(承诺中):TypeError:t.toISOString不是函数TypeError:t.toISOString不是u.value(vendor.js:9222)的upDateFormat [as _format](vendor.js:9222)的函数) 在 u.value (vendor.js:9222) 在 u.value (vendor.js:9222) 在 vendor.js:9222 在 f (vendor.js:9236) 在 Generator._invoke (vendor.js:9236) 在Generator.next (vendor.js:9236) 在 i (vendor.js:9222) 在 s (vendor.js:9222) 在 resolvePromise (polyfills.js:894) 在 resolvePromise (polyfills.js:846) 在 polyfills.js :956 在 ZoneDelegate.invokeTask (polyfills.js:495) 在 Object.onInvokeTask (vendor.js:45277) 在 ZoneDelegate.invokeTask (polyfills.js:494) 在 Zone.runTask (polyfills.js:263) 在 drainMicroTaskQueue (polyfills .js:665) 在 ZoneTask.invokeTask [作为调用] (polyfills.js:580) 在 invokeTask (polyfills.js:1717)

我不确定是什么导致了这个错误,但我已经将它的来源缩小到 writeBuffer() 函数,我不相信它与我试图传递给它的工作簿有任何关系,因为我可以使用 writeFile() 将它保存在 Node 中。

我已经尝试调试了几个小时,所以任何建议都将不胜感激。

0 投票
0 回答
28 浏览

javascript - 转换日期时间 javascript 时出现错误

我使用date.toISOString()的是 DateTime 格式“yyyy-MM-dd'T'HH: mm: ss'Z'”,我必须使用 ISO 8601 格式。在转换时,时间提前 5 小时显示,也就是说,我收到例如这个小时 2020-12-03 16:28:20 并且在转换时我显示这个 2020-12-03T21 : 26: 52.000Z(提前 5 小时)。我想知道为什么会这样?

谢谢

0 投票
1 回答
79 浏览

javascript - 日期格式在 redux devtools 中表现得很奇怪

我正在使用现有代码库,现有代码从端点调用日期。预期值是一个 ISO 字符串(即"2020-01-09T07:41:02.6025984-05:00"):

如您所见,代码获取 ISO 字符串,new Date从中创建 a,然后将其发送到 action 和 reducer,后者将其作为new Date.

当我打开我的 redux devtools 时,我再次看到一个 ISO 时间字符串:在此处输入图像描述

然而,上面的 console.log 语句打印了我们在运行new Date:时通常看到的内容Mon Apr 05 2021 11:56:25 GMT-0700 (Pacific Daylight Time)。当我进入控制台并检查store.getState().somewhere.timeFromServer.

redux devtools 是否有一些默认行为将Date对象显示为其 ISO 字符串?

请注意,我根本不喜欢这种编程模式——我宁愿存储从服务器返回的原始 ISO 字符串,并在我的前端代码中进行任何日期操作。这让我整个早上都陷入了循环,因为来自服务器的 ISO 字符串 f= 和 devtools 中显示的字符串不一样!从 ISO 字符串转换为 anew Date并再次转换将去除 UTC 时间偏移量,我不想丢失它。

0 投票
1 回答
44 浏览

datetime - 将带偏移量的 IsoString 保存到数据库

目前我有一个正在开发的应用程序,它将在亚马逊销售合作伙伴 API 中提取一些数据。我的目标是复制亚马逊卖家仪表板的报告。目前该帐户是使用欧洲/柏林时区的欧盟地区。我需要使用日期范围复制搜索。例如,客户正在使用范围2021-05-01- 2015-05-11。我目前所做的是创建一个 cron 作业,该作业将使用这种格式按小时获取这些报告last day of previous month——这样last day of current month我就不会错过本月的任何数据。我的问题是我要复制日期范围示例的相同结果2021-05-01-2015-05-11我需要在我的 sql 查询中添加额外的一天和 2.5 小时。

purchase_date来自亚马逊的是带偏移量的等字符串格式,然后"2021-05-13T15:33:56+00:00"我使用 Carbon library 将其保存到 mysql Carbon::parse($value['purchase_date'])->format('Y-m-d H:i:s')。结果将是2021-05-13 15:33:56

我的应用程序的时区设置为“UTC”。任何想法如何在我的 sql 查询中不增加 1 天和几个小时的时间来实现相同的结果?我的本地时区是亚洲/新加坡

问候

0 投票
0 回答
72 浏览

dayjs - 月末使用dayjs、set和toISOstring构造月初日期

顾名思义,我有一个简单的 TypeScript 函数 (toISODate),它应该将字符串转换为 ISO 日期字符串。

示例:“20-9-2020”将变为 20-9-2020T15:14:53.151Z

这适用于几乎所有字符串,但当输入日期字符串以“31”开头时会出错。在这种情况下,“31”被转换为“01”。

示例:“31-05-2021”变为 01-05-2021T15:14:53.151Z

如何解决这个问题呢?

源代码:

0 投票
3 回答
70 浏览

javascript - JavaScript - 将日期转换为 ISOString(),毫秒舍入为两位数

我正在尝试设置具有 ISOString 格式的日期,但毫秒应设置为两位数。

如果 ISOString 返回 2021-11-02T05:49:12.704ZI 希望它是 2021-11-02T05:49:12.70Z (毫秒四舍五入到两个位置)

这就是我想要做的。

输出为

任何人都可以帮忙吗?