问题标签 [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.
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 中。
我已经尝试调试了几个小时,所以任何建议都将不胜感激。
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 小时)。我想知道为什么会这样?
谢谢
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 时间偏移量,我不想丢失它。
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 天和几个小时的时间来实现相同的结果?我的本地时区是亚洲/新加坡
问候
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
如何解决这个问题呢?
源代码:
javascript - JavaScript - 将日期转换为 ISOString(),毫秒舍入为两位数
我正在尝试设置具有 ISOString 格式的日期,但毫秒应设置为两位数。
如果 ISOString 返回 2021-11-02T05:49:12.704ZI 希望它是 2021-11-02T05:49:12.70Z (毫秒四舍五入到两个位置)
这就是我想要做的。
输出为
任何人都可以帮忙吗?