从HTML表单生成日期的最佳方法

时间:2013-06-01 00:09:22

标签: php javascript jquery

我通过HTML从用户那里获取数据,我必须在不同的时间段生成一些日期。

什么是最有效的?

使用 JS 处理数据,然后通过隐藏的 HTML 发送到服务器 或
将其直接发送到服务器并在 PHP 上进行处理。

我需要对此JS代码link执行的一项操作的示例。

谢谢,

Date.prototype.addDays = function(days) {
   var dat = new Date(this.valueOf())
   dat.setDate(dat.getDate() + days);
   return dat;

}

function getDates(startDate, stopDate) {
  var dateArray = new Array();
  var currentDate = startDate;
  while (currentDate <= stopDate) {
    dateArray.push(currentDate)
    currentDate = currentDate.addDays(1);
  }
  return dateArray;
}

var dateArray = getDates(new Date(), (new Date()).addDays(2));
for (i = 0; i < dateArray.length; i ++ ) {
  alert (dateArray[i]);
}

2 个答案:

答案 0 :(得分:1)

如果您想要快速,顺畅的回复,请在客户端上处理日期。

通常,对要存储在服务器上的任何数据执行服务器端验证。即使使用客户端验证,也很容易有人向您的PHP脚本发送错误数据。

答案 1 :(得分:0)

<?php
  date_default_timezone_set('America/Los_Angeles');
?>

您应该确保您的服务器配置正确,并使用上面的代码和正确的时区。使用 PHP getdate()函数返回一个易于使用的关联数组。客户端不可靠,因为用户可以调整他们的系统时钟。当然,您必须考虑用户位置以确定显示的时间调整。您可以使用 Javascript navigator.geolocationgoogle.maps API来获取用户的排名,但您可能需要根据自己的使用情况向Google支付费用。