用户是变态的,在写一个日期控件的时候,要把用户的选择控制在今天和一定期限的时间之间,当初是使用javascript的date函数来获取今天的时间,但是今天用户反映,怎么选择的时间怎么比预想的时间少了两年,后来发现,他的系统时间比真实时间少了两年。狂ft阿

        没办法,只能在服务器端给用户设定今天的时间了。
原来的代码如下:
有关javascript的date和php的date问题<?php
有关javascript的date和php的date问题    
echo"<script>";
有关javascript的date和php的date问题    
if($type==0)
有关javascript的date和php的date问题        
echo "var minDate = new Date();var time=minDate.getTime();time=time+280*24*3600*1000;var maxDate=new Date(time);";
有关javascript的date和php的date问题       
else if($type==1||$type==3)
有关javascript的date和php的date问题           
echo "var maxDate=new Date();var maxYear=maxDate.getFullYear();var minYear=maxYear-8;var minDate=new Date(minYear,0,1);";
有关javascript的date和php的date问题       
else
有关javascript的date和php的date问题           
echo "var minDate= new Date();var time=minDate.getTime();time=time+365*24*3600*1000;var maxDate=new Date(time);";
有关javascript的date和php的date问题       
echo "</script>";
有关javascript的date和php的date问题
?>

现在修改后的代码如下
有关javascript的date和php的date问题<?php
有关javascript的date和php的date问题    
$newdate = date("Ymd",time());
有关javascript的date和php的date问题    
$newyear = (int)($newdate/10000);
有关javascript的date和php的date问题    
$newmonth = (int)(($newdate%10000)/100);
有关javascript的date和php的date问题    
$newmonth = $newmonth-1;
有关javascript的date和php的date问题    
$newday = $newdate%100;
有关javascript的date和php的date问题    
echo"<script>";
有关javascript的date和php的date问题    
if($type==0)
有关javascript的date和php的date问题        
echo "var minDate = new Date(".$newyear.",".$newmonth.",".$newday.");var time=minDate.getTime();time=time+280*24*3600*1000;var maxDate=new Date(time);";
有关javascript的date和php的date问题    
else if($type==1||$type==3)
有关javascript的date和php的date问题        
echo "var maxDate=new Date(".$newyear.",".$newmonth.",".$newday.");var maxYear=maxDate.getFullYear();var minYear=maxYear-8;var minDate=new Date(minYear,0,1);";
有关javascript的date和php的date问题    
else
有关javascript的date和php的date问题        
echo "var minDate= new Date(".$newyear.",".$newmonth.",".$newday.");var time=minDate.getTime();time=time+365*24*3600*1000;var maxDate=new Date(time);";
有关javascript的date和php的date问题    
echo "</script>";
有关javascript的date和php的date问题
?>



除非有更变态的用户,先保存为静态页面,然后修改时间,保存后再提交,不过我想,小小的时间变量,不会造成sql注入吧?再说是select控件,用户不能对value进行更改的。
附录十两个date的使用方法:
有关javascript的date和php的date问题JScript  语言参考 
有关javascript的date和php的date问题
有关javascript的date和php的date问题
--------------------------------------------------------------------------------
有关javascript的date和php的date问题
有关javascript的date和php的date问题Date 对象
有关javascript的date和php的date问题启用基本存储器并取得日期和时间。
有关javascript的date和php的date问题
有关javascript的date和php的date问题dateObj 
= new Date()
有关javascript的date和php的date问题dateObj 
= new Date(dateVal)
有关javascript的date和php的date问题dateObj 
= new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]]) 
有关javascript的date和php的date问题
有关javascript的date和php的date问题参数
有关javascript的date和php的date问题dateObj
有关javascript的date和php的date问题
有关javascript的date和php的date问题必选项。要赋值为 Date 对象的变量名。
有关javascript的date和php的date问题
有关javascript的date和php的date问题dateVal
有关javascript的date和php的date问题
有关javascript的date和php的date问题必选项。如果是数字值,dateVal 表示指定日期与 
1970 年 1 月 1 日午夜间全球标准时间 的毫秒数。如果是字符串,则 dateVal 按照 parse 方法中的规则进行解析。dateVal 参数也可以是从某些 ActiveX(R) 对象返回的 VT_DATE 值。
有关javascript的date和php的date问题
有关javascript的date和php的date问题year
有关javascript的date和php的date问题
有关javascript的date和php的date问题必选项。完整的年份,比如,
1976(而不是 76)。
有关javascript的date和php的date问题
有关javascript的date和php的date问题month
有关javascript的date和php的date问题
有关javascript的date和php的date问题必选项。表示的月份,是从 
0 到 11 之间的整数( 1 月至 12 月)。
有关javascript的date和php的date问题
有关javascript的date和php的date问题date
有关javascript的date和php的date问题
有关javascript的date和php的date问题必选项。表示日期,是从 
1 到 31 之间的整数。
有关javascript的date和php的date问题
有关javascript的date和php的date问题hours
有关javascript的date和php的date问题
有关javascript的date和php的date问题可选项。 如果提供了 minutes 则必须给出。表示小时,是从 
0 到 23 的整数(午夜到 11pm)。
有关javascript的date和php的date问题
有关javascript的date和php的date问题minutes
有关javascript的date和php的date问题
有关javascript的date和php的date问题可选项。 如果提供了 seconds 则必须给出。表示分钟,是从 
0 到 59 的整数。
有关javascript的date和php的date问题
有关javascript的date和php的date问题seconds
有关javascript的date和php的date问题
有关javascript的date和php的date问题可选项。 如果提供了 milliseconds 则必须给出。表示秒钟,是从 
0 到 59 的整数。
有关javascript的date和php的date问题
有关javascript的date和php的date问题ms
有关javascript的date和php的date问题
有关javascript的date和php的date问题可选项。 表示毫秒,是从 
0 到 999 的整数。
有关javascript的date和php的date问题
有关javascript的date和php的date问题说明
有关javascript的date和php的date问题Date 对象保存以毫秒为单位表示特定时间段。如果某个参数的值大于其范围或为负数,则存储的其他值将做相应的调整。例如,如果指定 
150 秒,JScript 将该数字重新定义为 2 分 30 秒。 
有关javascript的date和php的date问题
有关javascript的date和php的date问题如果数字为 NaN,则表示该对象不代表特定的时间段。如果未向 Date 对象传递参数,它将被初始化为当前时间 (UTC)。在能够使用该对象前必须为其赋值。 
有关javascript的date和php的date问题
有关javascript的date和php的date问题Date 对象能够表示的日期范围约等于 
1970 年 1 月 1 日前后各 285,616 年。 
有关javascript的date和php的date问题
有关javascript的date和php的date问题Date 对象具有两个不创建 Date 对象就可以调用的静态方法。它们是 parse 和 UTC。 
有关javascript的date和php的date问题
有关javascript的date和php的date问题错误
有关javascript的date和php的date问题下面的示例演示了 Date 对象的用法。
有关javascript的date和php的date问题


有关javascript的date和php的date问题PHP 手册 
有关javascript的date和php的date问题后退  前进 
有关javascript的date和php的date问题 
有关javascript的date和php的date问题
有关javascript的date和php的date问题 
有关javascript的date和php的date问题 
有关javascript的date和php的date问题 
有关javascript的date和php的date问题
有关javascript的date和php的date问题
date
有关javascript的date和php的date问题(PHP 
3, PHP 4, PHP 5)
有关javascript的date和php的date问题
有关javascript的date和php的date问题
date -- 格式化一个本地时间/日期
有关javascript的date和php的date问题说明
有关javascript的date和php的date问题
string date ( string format [, int timestamp] )
有关javascript的date和php的date问题
有关javascript的date和php的date问题
有关javascript的date和php的date问题返回将整数 timestamp 按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 是可选的,默认值为 
time()。 
有关javascript的date和php的date问题
有关javascript的date和php的date问题提示
: 自 PHP 5.1.0 起有几个有用的常量可用作标准的日期/时间格式来指定 format 参数。 
有关javascript的date和php的date问题
有关javascript的date和php的date问题
: 有效的时间戳典型范围是格林威治时间 1901 年 12 月 13 日 20:45:54 到 2038 年 1 月 19 日 03:14:07。(此范围符合 32 位有符号整数的最小值和最大值)。不过在 PHP 5.1 之前此范围在某些系统(如 Windows)中限制为从 1970 年 1 月 1 日到 2038 年 1 月 19 日。 
有关javascript的date和php的date问题
有关javascript的date和php的date问题
: 要将字符串表达的时间转换成时间戳,应该使用 strtotime()。此外一些数据库有一些函数将其时间格式转换成时间戳(例如 MySQL 的 UNIX_TIMESTAMP 函数)。 
有关javascript的date和php的date问题
有关javascript的date和php的date问题
有关javascript的date和php的date问题表格 
1. 格式字串可以识别以下 format 参数的字符串
有关javascript的date和php的date问题
有关javascript的date和php的date问题format 字符 说明 返回值例子 
有关javascript的date和php的date问题日 
--- --- 
有关javascript的date和php的date问题d 月份中的第几天,有前导零的 
2 位数字 01 到 31 
有关javascript的date和php的date问题D 星期中的第几天,文本表示,
3 个字母 Mon 到 Sun 
有关javascript的date和php的date问题j 月份中的第几天,没有前导零 
1 到 31 
有关javascript的date和php的date问题l(“L”的小写字母) 星期几,完整的文本格式 Sunday 到 Saturday 
有关javascript的date和php的date问题N ISO
-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天) 
有关javascript的date和php的date问题S 每月天数后面的英文后缀,
2 个字符 st,nd,rd 或者 th。可以和 j 一起用 
有关javascript的date和php的date问题w 星期中的第几天,数字表示 
0(表示星期天)到 6(表示星期六) 
有关javascript的date和php的date问题z 年份中的第几天 
0 到 366 
有关javascript的date和php的date问题星期 
--- --- 
有关javascript的date和php的date问题W ISO
-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) 例如:42(当年的第 42 周) 
有关javascript的date和php的date问题月 
--- --- 
有关javascript的date和php的date问题F 月份,完整的文本格式,例如 January 或者 March January 到 December 
有关javascript的date和php的date问题m 数字表示的月份,有前导零 
01 到 12 
有关javascript的date和php的date问题M 三个字母缩写表示的月份 Jan 到 Dec 
有关javascript的date和php的date问题n 数字表示的月份,没有前导零 
1 到 12 
有关javascript的date和php的date问题t 给定月份所应有的天数 
28 到 31 
有关javascript的date和php的date问题年 
--- --- 
有关javascript的date和php的date问题L 是否为闰年 如果是闰年为 
1,否则为 0 
有关javascript的date和php的date问题o ISO
-8601 格式年份数字。这和 Y 的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加) Examples: 1999 or 2003 
有关javascript的date和php的date问题
4 位数字完整表示的年份 例如:1999 或 2003 
有关javascript的date和php的date问题
2 位数字表示的年份 例如:99 或 03 
有关javascript的date和php的date问题时间 
--- --- 
有关javascript的date和php的date问题a 小写的上午和下午值 am 或 pm 
有关javascript的date和php的date问题A 大写的上午和下午值 AM 或 PM 
有关javascript的date和php的date问题B Swatch Internet 标准时 
000 到 999 
有关javascript的date和php的date问题g 小时,
12 小时格式,没有前导零 1 到 12 
有关javascript的date和php的date问题G 小时,
24 小时格式,没有前导零 0 到 23 
有关javascript的date和php的date问题h 小时,
12 小时格式,有前导零 01 到 12 
有关javascript的date和php的date问题H 小时,
24 小时格式,有前导零 00 到 23 
有关javascript的date和php的date问题i 有前导零的分钟数 
00 到 59> 
有关javascript的date和php的date问题s 秒数,有前导零 
00 到 59> 
有关javascript的date和php的date问题时区 
--- --- 
有关javascript的date和php的date问题e 时区标识(PHP 
5.1.0 新加) 例如:UTC,GMT,Atlantic/Azores 
有关javascript的date和php的date问题I 是否为夏令时 如果是夏令时为 
1,否则为 0 
有关javascript的date和php的date问题O 与格林威治时间相差的小时数 例如:
+0200 
有关javascript的date和php的date问题T 本机所在的时区 例如:EST,MDT(【译者注】在 Windows 下为完整文本格式,例如“Eastern Standard 
Time”,中文版会显示“中国标准时间”)。 
有关javascript的date和php的date问题Z 时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。 
-43200 到 43200 
有关javascript的date和php的date问题完整的日期/时间 
--- --- 
有关javascript的date和php的date问题c ISO 
8601 格式的日期(PHP 5 新加) 2004-02-12T15:19:21+00:00 
有关javascript的date和php的date问题r RFC 
822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200 
有关javascript的date和php的date问题U 从 Unix 纪元(January 
1 1970 00:00:00 GMT)开始至今的秒数 参见 time() 
有关javascript的date和php的date问题
有关javascript的date和php的date问题
有关javascript的date和php的date问题格式字串中不能被识别的字符将原样显示。Z 格式在使用 
gmdate() 时总是返回 0。 
有关javascript的date和php的date问题
有关javascript的date和php的date问题例子 
1. date() 例子
有关javascript的date和php的date问题
有关javascript的date和php的date问题
<?php
有关javascript的date和php的date问题
// 设定要用的默认时区。自 PHP 5.1 可用
有关javascript的date和php的date问题
date_default_timezone_set('UTC');
有关javascript的date和php的date问题
有关javascript的date和php的date问题
有关javascript的date和php的date问题
// 输出类似:Monday
有关javascript的date和php的date问题
echo date("l");
有关javascript的date和php的date问题
有关javascript的date和php的date问题
// 输出类似:Monday 15th of August 2005 03:12:46 PM
有关javascript的date和php的date问题
echo date('l dS \of F Y h:i:s A');
有关javascript的date和php的date问题
有关javascript的date和php的date问题
// 输出:July 1, 2000 is on a Saturday
有关javascript的date和php的date问题
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
有关javascript的date和php的date问题
有关javascript的date和php的date问题
/* 在格式参数中使用常量 */
有关javascript的date和php的date问题
// 输出类似:Mon, 15 Aug 2005 15:12:46 UTC
有关javascript的date和php的date问题
echo date(DATE_RFC822);
有关javascript的date和php的date问题
有关javascript的date和php的date问题
// 输出类似:2000-07-01T00:00:00+0000
有关javascript的date和php的date问题
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
有关javascript的date和php的date问题
?>  
有关javascript的date和php的date问题 
有关javascript的date和php的date问题
有关javascript的date和php的date问题
有关javascript的date和php的date问题在格式字串中的字符前加上反斜线来转义可以避免它被按照上表解释。如果加上反斜线后的字符本身就是一个特殊序列,那还要转义反斜线。 例子 
2. 在 date() 中转义字符
有关javascript的date和php的date问题
有关javascript的date和php的date问题
<?php
有关javascript的date和php的date问题
// prints something like: Wednesday the 15th
有关javascript的date和php的date问题
echo date("l \\t\h\e jS");
有关javascript的date和php的date问题
?>  
有关javascript的date和php的date问题 
有关javascript的date和php的date问题
有关javascript的date和php的date问题
有关javascript的date和php的date问题可以把 
date() 和 mktime() 结合使用来得到未来或过去的日期。 例子 3. date() 和 mktime() 例子
有关javascript的date和php的date问题
有关javascript的date和php的date问题
<?php
有关javascript的date和php的date问题
$tomorrow  = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
有关javascript的date和php的date问题
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));
有关javascript的date和php的date问题
$nextyear  = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);
有关javascript的date和php的date问题
?>  
有关javascript的date和php的date问题 
有关javascript的date和php的date问题
有关javascript的date和php的date问题
有关javascript的date和php的date问题
: 由于夏令时的缘故,这种方法比简单地在时间戳上加减一天或者一个月的秒数更可靠。 
有关javascript的date和php的date问题
有关javascript的date和php的date问题
有关javascript的date和php的date问题一些使用 
date() 格式化日期的例子。注意要转义所有其它的字符,因为目前有特殊含义的字符会产生不需要的结果,而其余字符在 PHP 将来的版本中可能会被用上。当转义时,注意用单引号以避免类似 \n 的字符变成了换行符。 例子 4. date() 格式举例
有关javascript的date和php的date问题
有关javascript的date和php的date问题
<?php
有关javascript的date和php的date问题
// 假定今天是:March 10th, 2001, 5:16:18 pm
有关javascript的date和php的date问题
$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
有关javascript的date和php的date问题
$today = date("m.d.y");                         // 03.10.01
有关javascript的date和php的date问题
$today = date("j, n, Y");                       // 10, 3, 2001
有关javascript的date和php的date问题
$today = date("Ymd");                           // 20010310
有关javascript的date和php的date问题
$today = date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
有关javascript的date和php的date问题
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // It is the 10th day.
有关javascript的date和php的date问题
$today = date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001
有关javascript的date和php的date问题
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:17 m is month
有关javascript的date和php的date问题
$today = date("H:i:s");                         // 17:16:17
有关javascript的date和php的date问题
?>  
有关javascript的date和php的date问题 
有关javascript的date和php的date问题
有关javascript的date和php的date问题
有关javascript的date和php的date问题要格式化其它语种的日期,应该用 
setlocale() 和 strftime() 函数来代替 date()。 
有关javascript的date和php的date问题
有关javascript的date和php的date问题参见 
getlastmod(),gmdate(),mktime(),strftime() 和 time()。 
有关javascript的date和php的date问题 
有关javascript的date和php的date问题

相关文章:

  • 2021-09-21
  • 2021-06-05
  • 2021-12-20
  • 2021-06-26
  • 2021-07-09
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-18
  • 2022-12-23
  • 2022-12-23
  • 2021-09-11
  • 2022-01-19
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案