如何在经典 asp 中将当前时间作为通用时间。我知道如何进入 C# 并且我在 c# 中使用以下行 ((DateTime.Now).ToUniversalTime()).ToString("s") 获取通用时间,这段代码给了我这样的时间 2012-07-09T10 :29:49
但我想知道经典asp中的等价物。谢谢
如何在经典 asp 中将当前时间作为通用时间。我知道如何进入 C# 并且我在 c# 中使用以下行 ((DateTime.Now).ToUniversalTime()).ToString("s") 获取通用时间,这段代码给了我这样的时间 2012-07-09T10 :29:49
但我想知道经典asp中的等价物。谢谢
正如Ian 指出的,您可以通过 Javascript 生成 UTC 时间。
您指定了“ASP Classic”,其中当然包含 Javascript 作为一种语言,因此您有一个答案: Call (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>
根据u229.no,VBScript 中没有任何内置方法可以转换为 UTC。
看看作者在下面提供的使用 JScript 的代码,以及如何从 VBScript 调用它。
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;
%>
您还可以使用其他 jscript 方法。
另一种方法是
%>
<script runat="server" language="javascript">
function getTimezoneOffset() {
return (new Date()).getTimezoneOffset()
}
</script>
<%
Function nowUtc()
nowUtc=DateAdd("n",getTimezoneOffset(),Now)
End Function
上述代码的变体
<%@ 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>
如果您的应用程序连接到数据库,您可能可以通过简单的快速查询从数据库中获取时间戳。例如,在 MySQL 中它是:SELECT unix_timestamp()
.
这将为您提供一个 Unix 时间戳(自 Unix 纪元以来的秒数)。从那里转换成你喜欢的任何格式。