新手日期英文月份如何转为数字求助?

bw126 2011-09-22 12:50:24
我是初学PHP,现在遇到一个问题,就是我要求设计一个网页输入日期,和其他条目输入并存储到txt文件里面。

我做了个下拉菜单让用户选择输入日期,月份和日是用下拉菜单,年用TXT文本输入。

现在问题是要检查日期的有效性,我用checkdate函数来做,如果输入是全部数字,我可以做到这个功能,但是存储要求是用3位英文存储月份,我不知道该怎么样转换。
代码如下:
<?php
$tourtype = $_POST["tourtype"];
$mo = $_POST["mo"];
$day = $_POST["day"];
$year = $_POST["year"];

if(checkdate((int)$mo, (int)$day, (int)$year))
{
$path = "../data";
umask(0007);
if (!file_exists($path))
mkdir($path, 02770);

$bookings = fopen($path. "/bookings.txt", "a");


if (is_writable($path . "/bookings.txt")) {
if (fwrite($bookings, $tourtype . "\t ". $mo ."\t ". $day ."\t ". $year ."\r\n")) {
echo "<p class=\"ok\">Thank you for signing our guest book!</p>";
} else {
echo "<p class=\"wrong\">Cannot add your name to the guest book.</p>";
}
} else {
echo "<p class=\"wrong\">Cannot write to the file.</p>";
}
fclose($bookings);
}
else{
echo "<p class=\"wrong\">The date is unavlidated.</p>";
}
}

?>
...全文
862 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bw126 2011-09-22
  • 打赏
  • 举报
回复
现在问题就是存储要求是
B0004 SSS Great Park Feb 27 2011

就是要把数字改为英文存储。
bw126 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 phpnewnew 的回复:]

请将日期时间最后的生成结果(格式)发个上来看看
[/Quote]
B0004 SSS Great Park 2 27 2011
就是这样的内容,每条存储在文本文件的一行。
黄袍披身 2011-09-22
  • 打赏
  • 举报
回复
请将日期时间最后的生成结果(格式)发个上来看看
bw126 2011-09-22
  • 打赏
  • 举报
回复
我的输入菜单如下 显示是英文,按提交后post过去是数字。

<p><b>Tour Date:</b>
<select name = "mo">
<option value = "1" selscted>Jan
<option value = "2">Feb
<option value = "3">Mar
<option value = "4">Apr
<option value = "5">May
<option value = "6">Jun
<option value = "7">Jul
<option value = "8">Aug
<option value = "9">Sep
<option value = "10">Oct
<option value = "11">Nov
<option value = "12">Dec
</select>
bw126 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 langtse 的回复:]

PHP code

$months=array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
$mydate=$months[$mo]." ".$day." ".$year
[/Quote]
这个就是我要改的地方了。

还是用下来菜单输入数字的月份,最后转换一下格式写入txt文件就好了,谢谢你。
langtse 2011-09-22
  • 打赏
  • 举报
回复

$months=array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
$mydate=$months[$mo]." ".$day." ".$year
langtse 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bw126 的回复:]
现在问题就是存储要求是
B0004 SSS Great Park Feb 27 2011
就是要把数字改为英文存储。
[/Quote]
从数组中取怎么样?

$months=array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
$mm=$months[$_POST["mo"]);
$mydate=$mm." ".$dd." ".$yyyy

「已注销」 2011-09-22
  • 打赏
  • 举报
回复

<p><b>Tour Date:</b>
<select name = "mo">
<option value = "1" selscted>Jan
<option value = "2">Feb
<option value = "3">Mar
<option value = "4">Apr
<option value = "5">May
<option value = "6">Jun
<option value = "7">Jul
<option value = "8">Aug
<option value = "9">Sep
<option value = "10">Oct
<option value = "11">Nov
<option value = "12">Dec
</select>


改成

<p><b>Tour Date:</b>
<select name = "mo">
<option value = "Jan" selscted>Jan
<option value = "Feb">Feb
<option value = "Mar">Mar
<option value = "Apr">Apr
<option value = "May">May
<option value = "Jun">Jun
<option value = "Jul">Jul
<option value = "Aug">Aug
<option value = "Sep">Sep
<option value = "Oct">Oct
<option value = "Nov">Nov
<option value = "Dec">Dec
</select>

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧