Asp classic 经典asp中的当前世界时
如何在经典asp中获取当前时间作为通用时间。我知道如何使用C语言,我正在使用C语言获取世界时,并使用以下行DateTime.Now.ToUniversalTime.ToString,这段代码给我的时间如下2012-07-09T10:29:49 但是我想知道在经典asp中的等价物。感谢根据,VBScript中没有任何内置的方法可以转换为UTC 看看作者在下面提供的使用JScript的代码,以及如何从VBScript调用它 GetServerGMT例程将返回类似以下内容:Wed,01 Feb 2006 15:21:59 UTCAsp classic 经典asp中的当前世界时,asp-classic,utc,Asp Classic,Utc,如何在经典asp中获取当前时间作为通用时间。我知道如何使用C语言,我正在使用C语言获取世界时,并使用以下行DateTime.Now.ToUniversalTime.ToString,这段代码给我的时间如下2012-07-09T10:29:49 但是我想知道在经典asp中的等价物。感谢根据,VBScript中没有任何内置的方法可以转换为UTC 看看作者在下面提供的使用JScript的代码,以及如何从VBScript调用它 GetServerGMT例程将返回类似以下内容:Wed,01 Feb 200
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;
%>
您也可以使用这些工具。因为您可以通过Javascript生成UTC时间
您指定了ASP Classic,它当然包括Javascript作为一种语言,因此有一个答案:调用new Date.toutString
如果您碰巧更喜欢用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>
上述代码的变体
<%@ 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\u timestamp
这将为您提供自Unix纪元以来的Unix时间戳秒数。从那里转换成您喜欢的任何格式。另一种方法是
我不确定如果不使用DATE\u ADD或类似的.var nd=od.togmString,您是否可以自己转换它;不推荐使用ToutString。嗯,这是一个有点奇怪的答案。你说不,没有办法。。。然后你接着解释了怎么做??ps:JScript是真正的ASP经典language@Cheeso因为VBScript和JScript都随ASP Classic一起提供,所以您是对的。然而,如果你注意到的话,我提供的是逐字逐句的参考。此外,对于更常见的IDE DreamWeaver,新的.asp页面默认为VBScript。所以我假设OP使用的是VBScript。@伊恩,我不确定我所提供的是逐字逐句的引用。也许你的意思是你只是引用了别人的话。但这并不是重复错误或误导性信息的好借口。我的观点是,你的答案整体上是不一致的。很明显,答案并不像你最初的句子所说的那样是否定的。事实上,有一种方法可以做到这一点,你指出了这一点。有一个要求是必须使用jscript,但这完全符合主流ASP Classic的要求。我对你的答案投了赞成票;我只是指出这有点让人困惑。下一个解决方案更干净,没有额外的调用,没有通过会话传递状态
%>
<script runat="server" language="javascript">
function getTimezoneOffset() {
return (new Date()).getTimezoneOffset()
}
</script>
<%
Function nowUtc()
nowUtc=DateAdd("n",getTimezoneOffset(),Now)
End Function