经典asp中的当前世界时

时间:2012-07-09 15:20:36

标签: asp-classic utc

如何在经典asp中将当前时间作为通用时间。我知道如何进入C#并且我在c#中获得了通用时间跟随行((DateTime.Now).ToUniversalTime())。ToString(“s”)这段代码给了我这样的时间2012-07-09T10 :29:49

但我想知道经典asp中的等价物。谢谢

5 个答案:

答案 0 :(得分:6)

作为Ian pointed out,您可以通过Javascript生成UTC时间。

您指定了“ASP Classic”当然包含Javascript作为一种语言,所以有一个答案:致电(new Date()).toUTCString()

如果您更喜欢在大多数VBScript中对您的网页进行编码,那么您可以只使用一些Javascript来完成它。您无需借助Server.Execute或Sessions来实现这一目标。

这对我有用:

<%@ language="VBScript" %>
<script language='Javascript' runat='server'>
  function jsGetUTCTime() {
    var d = new Date();
    return d.toUTCString();
  }
</script>
<script language='VBScript' runat='server'>
Function getUTCTime()
    ' Use JScript to get the current GMT time stamp
    getUTCTime = jsGetUTCTime()
End Function
</script>
<!DOCTYPE html>
<html>
  <head>
    <title>Mix</title>
  </head>
  <body>
   <h2>The time is:</h2>
   <%= getUTCTime() %>
  </body>
</html>

答案 1 :(得分:4)

根据u229.no,ASP Classic无法转换为UTC。

看看作者在下面提供的代码。

GetServerGMT例程将返回类似于:Wed,01 Feb 2006 15:21:59 UTC。

Function GetServerGMT()

    // Use JScript to get the current GMT time stamp and store it in Session("ServerGMT")
    Server.Execute "GetServerGMT.asp"
    GetServerGMT = Session("ServerGMT")

End Function 

这就是具有jscript代码的GetServerGMT.asp文件的样子:

<%@language="jscript"%>
<%
    var od = new Date();
    var nd = od.toUTCString();
    Session("ServerGMT") = nd;
%> 

您也可以使用other jscript methods

答案 2 :(得分:0)

上述代码的变化

<%@ language="VBScript" %>
<!DOCTYPE html>
<html>
        <head>
        <script language='Javascript' runat='server'>

            // good for creating cookie timestamps that match RFC 1123
            function jsGetFutureTimeGMT(minutes) {
                var d = new Date();
                var future = new Date();
                future.setTime(d.getTime() + (minutes*60000));
                var utcString = future.toUTCString();
                var tz = utcString.indexOf("UTC");
                if (tz > 0) {
                    utcString = utcString.substring(0, tz) + "GMT";
                }
                return utcString;
            }
        </script>

        <title>ASP Classic RFC 1123 compliant GMT timestamp</title>
    </head>
    <body>
    <h2>ASP Classic RFC 1123 compliant GMT timestamp</h2>
    <pre>
     The VBS time right now is: <%= Now() %>
     The time in 10 minutes is: <%= jsGetFutureTimeGMT(10) %>
    </pre>
    </body>
</html>

答案 3 :(得分:0)

如果您的应用程序已连接到数据库,则可以通过简单的快速查询从数据库获取时间戳。例如,在MySQL中,它是:SELECT unix_timestamp()

这将为您提供Unix时间戳(自Unix纪元以来的秒数)。从那里转换为您喜欢的任何格式。

答案 4 :(得分:0)

另一种方法是

%>
 <script runat="server" language="javascript">
     function getTimezoneOffset() {             
         return (new Date()).getTimezoneOffset()
     }
</script>
<%
Function nowUtc()
   nowUtc=DateAdd("n",getTimezoneOffset(),Now)
End Function