gpt4 book ai didi

node.js - Windows PowerShell 不会从 Node.js 控制台记录 Date 对象

转载 作者:行者123 更新时间:2023-12-05 05:05:05 24 4
gpt4 key购买 nike

我正在尝试通过执行 Node.js 在 Windows PowerShell 中使用 console.log Date 对象:

node -e "var d = new Date();console.log('new date = ', d);"

但是,PowerShell 没有给我任何日期。我唯一得到的是:

新日期=

打印出所有其他类型的数据,包括时间。

我发现在 PowerShell 中查看日期的唯一方法是将 .toString() 添加到我的代码中:

node -e "var d = new Date();console.log('new date = ', d.toString());"

然后我得到: dateAsStringImage

我在同一个系统(Windows10Pro)上用简单的CMD没有这个问题。上面的代码 (node -e "var d = new Date();console.log('new date = ', d);") 被打印出来:

新日期= 2020-03-14T22:46:49.847Z

如果有人知道如何解决这个问题,我将非常感谢您的帮助。

最佳答案

问题仅仅是显示问题:

日期字符串打印,但实际上不可见,因为选择的前景(文本)颜色显然与 PowerShell 的背景颜色相同.

一个简单的解决方法是通过管道传输到 Write-Output,这看起来像是一个空操作,但实际上会导致 node 抑制着色,以便打印文本通常:

PS> node -e "var d = new Date();console.log('new date = ', d);" | Write-Output
new date = 2020-03-15T03:07:06.798Z

同样,

  • 将输出重定向到一个文件将按预期捕获文本(没有在控制台中生成颜色的 VT(虚拟终端)序列)。

  • 复制并粘贴输出行显示完整的文本。

  • 将控制台的背景颜色更改为浅绿色,使日期字符串在输出中直接可见。

关于node.js - Windows PowerShell 不会从 Node.js 控制台记录 Date 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60687908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com