gpt4 book ai didi

javascript - WSH 中的日期时间格式(以及与日期对象的差异)

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

我正在尝试使用 Javascript 语法在 WSH 中进行一些简单的文件比较。我使用的是Windows XP SP3,脚本是通过Cscript.exe运行的

我的问题来自 File 对象的 dateLastModified 属性,它不处理通常的日期操作函数 - 例如 getDay() 或 getFullYear()

Microsoft Javascript 似乎有两种类型的日期这是代码示例:

var fso = WSH.CreateObject("Scripting.FileSystemObject")
f = fso.getFile('C:\\WINDOWS\\notepad.exe')
WSH.echo(f.Name)
WSH.echo(f.dateLastModified +" |type = "+ typeof(f.dateLastModified))


var d = new Date()
WSH.echo(d +" |type = "+ typeof(d))

这是我得到的输出

Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.

notepad.exe
Sun Apr 13 19:34:16 UTC+0200 2008 |type = date
Tue Jul 17 14:28:08 UTC+0200 2012 |type = object

当然,如果我尝试:

WSH.echo( f.dateLastModified.getFullYear() )

我收到一个错误,告诉 f.dateLastModified 不是一个对象

所以,我知道如何操作经典的 Date 对象,但是我该如何对 fileSystemObject 给我的这个日期类型做同样的事情呢?

是否可以将一种类型转换为另一种类型?

最佳答案

您可以将date 值转换为Date 对象,方法是使用该值作为对象构造函数的参数创建一个新的Date 对象。就像下面的例子:

var fileDate = new Date( f.dateLastModified );
WSH.echo( fileDate + ' |type = ' + typeof(fileDate) );
WSH.echo( fileDate.getFullYear());

要将 Date 对象转换为 date 值,请使用:

var dateVal = fileDate.getVarDate();
WSH.echo( dateVal + ' |type = ' + typeof(dateVal) );

关于javascript - WSH 中的日期时间格式(以及与日期对象的差异),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11522734/

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