1

我在服务器上没有 PHP 功能。所以我希望有一种 HTML 或 JS 的方式来做到这一点?

基本上,我不希望某个页面显示时间是否小于特定日期和时间。因此,如果他们浏览到该页面,并且时间小于为此指定的时间,它应该重定向到另一个页面。

我想知道这是否可以在不使用 JS 的情况下完成?主要是因为你可以重定向到<meta>标签内的另一个页面

重定向到 Google.com 的示例:

<!DOCTYPE HTML PUBLIC "-//SoftQuad//DTD HoTMetaL PRO 4.0::19970714::extensions to HTML 4.0//EN"
 "hmpro4.dtd">

<HTML>

  <HEAD>
    <TITLE>Redirector</TITLE>
    <META HTTP-EQUIV="refresh" CONTENT="0; url=http://www.google.com">
  </HEAD>

  <BODY BGCOLOR="#FFFFFF">
  </BODY>
</HTML>

真的希望这可以在没有 JS 的情况下完成,因为 JS 可能在某些浏览器上被禁用。当然,如果没有其他方法可以做到这一点,我想,如果 JS 被禁用,那么无论如何它都应该重定向它们,所以他们看不到内容。

对此的任何帮助表示赞赏。

如果有帮助的话,我在网站上有 ASP.NET 功能。有没有办法检查它?如果是这样,我该怎么做?当然,它需要将时间转换为东部标准时间。

4

2 回答 2

0

由于您确实具有 .NET 功能:

Page_Load (object sender, EventArgs e) // this is the page load, it's there for you already
{
    DateTime someDate = new DateTime(/*day, month, year, etc. Initialize as you like*/);
    if (DateTime.Now < someDate)
    {
        Response.Redirect(/*url of the other page*/);
    }
}

这样做的好处是使用服务器中的日期,而不是客户端机器上的日期。

编辑:这是一个 C# 示例。我对 VB.NET 太生疏了,无法提供 VB 替代方案。

再次编辑:既然你说你必须转换为 EST,你可能想看看这个:TimeZoneInfo.ConvertTime

于 2013-05-14T16:47:14.467 回答
0

如果您没有任何服务器功能,您可以使用 moment.js 并执行类似的操作

var now = moment();
var dayToCompare = moment("YYYY-MM-DD"); // Your date to compare
var diffBetweenDates = now.diff(dayToCompare, "hours"); 
/* Could be years   
months  
weeks   
days    
hours   
minutes 
seconds 
milliseconds

*/

if(diffBetweenDates > 0)
{
     window.location = "YourUriToRedirect";
}
于 2013-05-14T17:04:46.230 回答