【问题标题】:generate array for dates in PHP在 PHP 中为日期生成数组
【发布时间】:2015-05-14 00:50:58
【问题描述】:

我正在尝试生成一种在 PHP 页面中选择日期的粗略方法, 非常原始,但这是我被要求制作的。

基本上我正在尝试在 HTML 中生成一个选择下拉列表,该下拉列表将具有一系列日期(以 dd/mm/yyyy 格式)

它将包括今天的日期(2015 年 3 月 12 日),范围是从今天开始的 10 天,但需要遵循标准日历(例如每月 31 天或 30 天...)

这可以吗?如果可以的话,有人可以帮帮我吗

【问题讨论】:

  • 如果可以,请有人帮帮我在你问这里之前,你问过谷歌吗?
  • @Rizier123 谁是 Google,他们说什么语言?
  • Do this 在循环中
  • @Fred-ii- 他是你最好的朋友!用意大利语试试 ;)
  • @Rizier123 Si, è un'eccellente idea!! grazie mille

标签: php arrays


【解决方案1】:

看看DatePeriod。您可以创建一个 DatePeriod 并对其进行映射以创建日期数组,如下所示:

// create DatePeriod with the following arguments:
//
// * DateTime for current datetime
// * DateInterval of 1 day
// * Recurrences - today's date *plus* this number of repeated dates
$period = new DatePeriod(new DateTime(), new DateInterval('P1D'), 9);

// Convert DatePeriod to array of DateTime objects
// Map over array
// Build array of formatted date strings
$dates = array_map(function($dt) {
    return $dt->format('d/m/Y');
}, iterator_to_array($period));

// Done :)
var_dump($dates);

这会产生类似:

array (size=11)
  0 => string '12/03/2015' (length=10)
  1 => string '13/03/2015' (length=10)
  2 => string '14/03/2015' (length=10)
  3 => string '15/03/2015' (length=10)
  4 => string '16/03/2015' (length=10)
  5 => string '17/03/2015' (length=10)
  6 => string '18/03/2015' (length=10)
  7 => string '19/03/2015' (length=10)
  8 => string '20/03/2015' (length=10)
  9 => string '21/03/2015' (length=10)

请注意,重复次数会少一次,因为它不包括开始日期。

希望这会有所帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 2016-06-24
    相关资源
    最近更新 更多