尝试设置DateTime时需要VBScript对象

时间:2014-05-14 04:40:39

标签: vbscript asp-classic

我是VBScript的新手,无法弄清楚为什么我的代码出现Object Required错误。它现在非常简单,我刚刚开始它:

<%
set fs=Server.CreateObject("Scripting.FileSystemObject")
Dim dateandtime
On Error Resume Next
set dateandtime = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")
If Err <> 0 Then
  ' File operation(s) failed, handle the error
  response.write(Err.Description)
End If
%>

为什么我无法设置DateTime?我已经设置了FileSystemObject,以便稍后在代码FYI中使用。我只是把它全部放在这里,这样你就能看到我拥有的东西。我认为它是一个简单的语法,但我似乎无法在任何地方找到答案。谢谢你的帮助!

2 个答案:

答案 0 :(得分:2)

第一个错误是在为变量分配非对象时使用Set。 &#39;相关&#39;中的最后一个条目列表“Object required” when using Set in an assignment处理它。

>> Set dt = "a string"
>>
Error Number:       424
Error Description:  Object required [because Set wants an object to assign]

没有设定,没问题:

>> dt = "a string"
>> WScript.Echo dt
>>
a string

删除Set将揭示下一个问题:除非您定义了一个合适的类和一个名为&#39; DateTime&#39;你自己的DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")将失败,同样的错误424。

>> dt = Nix.Now.ToString("")
>>
Error Number:       424
Error Description:  Object required [to use its .Now member]

在此处搜索有关在VBScript中格式化日期的方法。 (第一次点击&#34; [vbscript]格式日期&#34;:date format in VBS

应删除.Write调用中的();它们参数列表(),但是每个值传递给我一个&#39; ()。请参阅this answer并点击Eric Lippert的文章链接。

答案 1 :(得分:0)

如果要破坏你的代码并做这个呢?

<%
    dateandtime = now()

    response.write dateandtime
%>

要使用set,您需要Object