是否有一個類或php腳本會在下拉字段中回覆所有日期,月份和年份。我需要將它們用於出生日期字段。我google搜索,但沒有出現,我可以實施或從中學習。有任何想法嗎?謝謝如何在一個下拉菜單中獲得所有的日子,月份和年份?
1
A
回答
13
如果你真的只是想在PHP中完成的,這裏有一個簡單的開始:
<?php
// lowest year wanted
$cutoff = 1910;
// current year
$now = date('Y');
// build years menu
echo '<select name="year">' . PHP_EOL;
for ($y=$now; $y>=$cutoff; $y--) {
echo ' <option value="' . $y . '">' . $y . '</option>' . PHP_EOL;
}
echo '</select>' . PHP_EOL;
// build months menu
echo '<select name="month">' . PHP_EOL;
for ($m=1; $m<=12; $m++) {
echo ' <option value="' . $m . '">' . date('M', mktime(0,0,0,$m)) . '</option>' . PHP_EOL;
}
echo '</select>' . PHP_EOL;
// build days menu
echo '<select name="day">' . PHP_EOL;
for ($d=1; $d<=31; $d++) {
echo ' <option value="' . $d . '">' . $d . '</option>' . PHP_EOL;
}
echo '</select>' . PHP_EOL;
?>
另一種方法,類似的輸出:
(年將是升序,而不是降序)
<?php
$build = array(
array('year', '1910', date('Y'), 'Y'),
array('month', '1', '12', 'M'),
array('day', '1', '31', 'j')
);
$doc = new DOMDocument();
foreach ($build as $item) {
$menu = $doc->createElement('select');
$menu->setAttribute('name', $item[0]);
for ($x=$item[1]; $x<=$item[2]; $x++) {
$b = $item[3];
$opt = $doc->createElement('option');
$opt->setAttribute('value', $x);
$opt->nodeValue = date($item[3], mktime(0,0,0,($b=='M'?$x:1),($b=='j'?$x:1),($b=='Y'?$x:1)));
$menu->appendChild($opt);
}
$doc->appendChild($menu);
}
echo $doc->saveHTML();
?>
5
而不是用三個不同的<select>
,這不是一個非常用戶友好的解決方案,爲什麼不使用一些基於Javascript的日曆小部件?
例如,我聽說過jQuery Datepicker好幾次 - 效果要好得多,你不覺得:
http://extern.pascal-martin.fr/so/5463037.png
(這就是隻是我鏈接到的頁面上的演示的屏幕截圖;有幾個選項可以調整)
2
主題是舊的,但在添加
接受的答案會說日期( 'M',mktime(0,0,0,$ M))
- >
日期( 'M',mktime(0,0, 0,$ m,1))
因爲在29日,30日和31日標籤將是錯誤的。 PHP將當天的默認值作爲默認值,並將返回錯過這一天的錯誤月份。 PHP會將其解釋爲月份+ 1天,並會顯示下個月
1
我知道這是一個老問題,但也許這會有所幫助。
var_dump(cal_info(0)['months']);
相關問題
- 1. 日期,月份和年份下拉框
- 2. 如何獲得當前日期,月份,年份在斯卡拉
- 3. 如何更有效地在3個不同的下拉菜單中輸入日期,月份和年份
- 4. 如何獲得截止日期的月份和年份
- 5. 如何從日期獲得年份和月份 - PHP
- 6. Scala - 獲取特定年份的所有月份和日期
- 7. 如何在java中獲得當前年份和上一年的月份?
- 8. 獲得年份和月份從要素
- 9. 如何按月份和年份獲得唯一的ID計數?
- 10. 如何獲得唯一的月份和年份組合?
- 11. 如何獲得特定月份和年份的一個月的天數?
- 12. Ember日期獲得月份,年份和日期
- 13. 如何在php中獲得年齡,月份和日期?
- 14. 如何在java中獲得給定月份和年份的最後日期
- 15. 在android中獲取月份和年份?
- 16. 在JQuery日曆中顯示日期以及其他月份和月份和年份菜單
- 17. 獲取兩個日期範圍內的所有月份和年份的列表
- 18. 有月份和年份PHP
- 19. f.date_select:在單個選項菜單中一起顯示月份和年份?
- 20. 如何獲得日期,月份和年份在不同的標籤
- 21. 2日期間的所有年份和月份SQL
- 22. 如何獲得當前的月份和年份
- 23. JavaScript下拉菜單的年份間隔
- 24. 如何獲取日曆上顯示的月份和年份
- 25. 在sql server中如何獲得從給定日期開始的所有月份和年份
- 26. 的JavaScript生成年份和月份的下拉列表中
- 27. SQL Server中參數的月份和年份的下拉列表
- 28. 月份和年份的日期轉換
- 29. 計算月份和年份的日期
- 30. 如何在jQuery UI datepicker中獲取日期,月份,年份?
仍然不知道什麼ü需要做什麼?這是在客戶端還是服務器端? – Neal 2011-03-28 17:58:00
我正在使用這個註冊表單。你知道你有你的出生日期字段。所以我希望能夠顯示所有的日子,幾個月,幾年到現場的當前日期。 – AAA 2011-03-28 17:59:21
由於每月的天數不同,PHP並不是您的最佳選擇。當選擇「月份」時,您必須提交表格才能獲得正確的「日」計數。 – drudge 2011-03-28 18:10:49