【问题标题】:Day of the week field星期几字段
【发布时间】:2014-08-28 19:27:51
【问题描述】:

我有一个显示事件列表的 php 数据库...日期、结束日期事件名称等。

它在网站上显示如下: 日期 结束日期 活动时间 活动名称 等等……

我的客户想要在日期字段旁边添加星期几。我无法更改日期字段(显示为:月日)。因此,如果日期是 8 月 29 日(即明天),他希望它显示为:8 月 29 日,星期五。

有没有办法轻松解决这个问题?我不是一个经验丰富的程序员。

谢谢

【问题讨论】:

  • 给我们看一些代码。如果我们只知道您有“月日”,我们将无法帮助您获取星期几,因为每年该日期的星期几都会有所不同。
  • 如果他使用 date() 函数输出当前字符串,您可以简单地将其更改为 date("l, F j") - 将输出您要查找的格式。跨度>
  • 也许你在这里找到你的解决方案:link
  • @user2930069 $row_rsEvents['date'] 的值是多少?是时间戳吗?它是如何格式化的?如果将其转换为时间戳,则可以调用 echo date("l, F j", timestamp_here); ?>
  • 请注意,它可能会默认为“2014 年 8 月 29 日”,使用当前年份。如果您尝试访问明年的记录,并且从默认字符串到时间转换显示“2015 年 8 月 29 日”,则星期几将是错误的。

标签: php dayofweek


【解决方案1】:

正如“sjagr”所指出的,星期几取决于月份、月份和年份。由于您的数据库中缺少年份信息,并且您无法更改它,因此您无法显示星期几。

好吧,假设你知道年份。然后怎样呢?托德威瑟斯给出了正确的提示。这并不像看起来那么困难,因为 PHP,或者更确切地说是您的操作系统,对日期了解很多。有一个方便的 PHP 函数,称为 date(),它接受一个“时间戳”并将其转换为可读的文本,包括星期几。见:

http://www.php.net/manual/en/function.date.php

对于美国来说,一个好的起始格式是“l,F j”,但如果你住在其他地方,你应该把它改成更正常的格式。

现在您需要“时间戳”。我通常为此使用 strtotime() 函数:

http://nl3.php.net/manual/en/function.strtotime.php

它非常灵活,可以处理很多写日期的方式。一个完整的代码示例如下:

$year  = '2014';  // I use strings, but numbers can also work
$month = '08';    // this is numeric, but names can also work  
$day   = '29';

$timestamp = strtotime("$year-$month-$day");

echo date('l, F j',$timestamp);

用它做实验,尝试不同的格式!

【讨论】:

  • 你们太棒了。我最终得到的是: 如您所见,它显示星期几、月份和日期。它从日期选择器字段中提取日期信息。所以我认为它知道年份,只是不显示它,对吗?不过,我仍然试图弄清楚如何显示活动的结束日期,如果它与开始日期不同。我只希望它显示它,如果当一个人提交事件时,他们输入日期选择器,这一天与开始日期不同。谢谢!
猜你喜欢
  • 1970-01-01
  • 2013-12-31
  • 2021-12-01
  • 1970-01-01
  • 2016-10-22
  • 2015-05-13
  • 2022-08-10
  • 1970-01-01
相关资源
最近更新 更多