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

标签 javascript date wsh

我正在尝试使用 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/

相关文章:

javascript - 使用按钮滚动 slider

javascript - 将 HTML 表单转换为 Angular POST 请求

mysql - 在一个 id 中减去多个日期

android - Calendar.YEAR 显示错误年份

javascript - jscript函数指针

java - Windows:从 32 位 Java 运行 reg 命令时取消 WOW6432Node 注册表项映射

javascript - 在模态中从 javascript 访问变量(noob)

javascript - 如何通过在javascript中比较它们来仅获取数组中的特定元素?

r - 自动填充周日期

powershell - 将内容输入文本文件的脚本