2009-12-01 54 views
0

好吧,我明白这一点:PHP的strtotime发出

mm/dd/yyyy - 02/01/2003 - strtotime() returns : 1st February 2003 
    mm/dd/yy - 02/01/03 - strtotime() returns : 1st February 2003 
    yyyy/mm/dd - 2003/02/01 - strtotime() returns : 1st February 2003 
    dd-mm-yyyy - 01-02-2003 - strtotime() returns : 1st February 2003 
    yy-mm-dd - 03-02-01 - strtotime() returns : 1st February 2003 
    yyyy-mm-dd - 2003-02-01 - strtotime() returns : 1st February 2003 

所以我的问题是,你如何设置的HTML页面上的字符串来接受用户的年龄?

我可以只是提示用户

月份,日期和年份一个箱

我也可以拆分这件事

,但它是不正确的的strtotime将期待字符串,所以它是重要的。

回答

2

如果您试图严格按照PHP执行此操作,则可以使用多种方法处理日期......对于大多数情况,strtotime()可以工作,但有人可能会输入奇怪的格式。在这种情况下,将输入分隔为3个文本框MM/DD/YYYY可能很明智,然后执行$ _POST处理程序并实际使用mktime()(http://us.php.net/mktime)生成时间。

如果我不得不选择,我肯定会去用户体验的JavaScript路线。使得用户更容易获得在两次点击的格式,而不是打字了日期和诸如此类的东西,它可以让你少一点编码:

http://www.jqueryui.com/demos/datepicker/

例子:

<script type="text/javascript"> 
$(function() { 
    $("#datepicker").datepicker(); 
}); 
</script> 



<div class="demo"> 

<p>Date: <input type="text" id="datepicker"></p> 

</div><!-- End demo --> 

<div class="demo-description" style="display: none; "> 

<p>The datepicker is tied to a standard form input field. Focus on the input (click, or use the tab key) to open an interactive calendar in a small overlay. Choose a date, click elsewhere on the page (blur the input), or hit the Esc key to close. If a date is chosen, feedback is shown as the input's value.</p> 

</div><!-- End demo-description --> 

PHP将处理时间,它会给你从时代开始的秒数。然后,您可以将其存储在您的数据库(int)中,然后使用date('F d,Y',$ time);从几秒钟显示你的日期。

2

看网站上的任何条目形式,其中的日期/时间是很重要的,如订票...这将:

一)提供所需格式的用户“DD/MM/YY”等

b)中具有与JavaScript

ç验证)任选提供点日期选择器和选择点击。

这使您可以确保格式对您的服务器端解释是正确的。并可能使用比时间更强的功能。

+0

谢谢你完全忽略了,但是,这只是为了学习的目的,我只是学习PHP,我甚至没有与js搞砸。 – Newb 2009-12-01 15:11:11