如何在经典asp中将当前时间作为通用时间。我知道如何进入C#并且我在c#中获得了通用时间跟随行((DateTime.Now).ToUniversalTime())。ToString(“s”)这段代码给了我这样的时间2012-07-09T10 :29:49
但我想知道经典asp中的等价物。谢谢
答案 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