2014-08-28 100 views
0

我有一個php數據庫,顯示事件列表... date,end_date event_name等。星期幾字段

它顯示了這樣的網站上: 日期 結束日期 活動時間 事件名稱 等等

我的客戶要添加的星期幾,旁邊日期字段。我無法更改日期字段(顯示爲:月份日)。所以如果日期是8月29日(即明天),他希望它顯示爲:8月29日星期五。

有沒有辦法去解決這個問題?我不是一個經驗豐富的程序員。

感謝

+1

向我們展示一些代碼。如果我們只知道您有「月日」,那麼我們無法幫助您獲得每週的某一天,因爲每週的這一天的日期會有所不同。 – mstrthealias 2014-08-28 19:33:11

+0

如果他使用date()函數輸出當前字符串,則可以簡單地將其更改爲date(「l,F j」) - 將輸出您正在查找的格式。 – 2014-08-28 19:36:37

+0

也許你在這裏找到你的解決方案:[鏈接](http://php.net/manual/en/function.jddayofweek.php) – SkaiBoa 2014-08-28 19:36:38

回答

0

正如「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); 

試驗它,嘗試不同的格式!

+0

你們都很棒。我最終得到的是: <?php echo date('l F jS',strtotime($ row_rsEvents ['date'])); ?> 正如您所看到的,它顯示星期幾,月和日。它從日期選擇器字段中提取日期信息。所以我認爲它知道這一年,只是不顯示它,對嗎? 我仍然嘗試弄清如何顯示事件的結束日期,如果它是與開始日期不同的日期。我只想讓它顯示出來,如果某個人提交了一個事件,他們就會進入日期選擇器,這個日期與開始日期不同。 謝謝! – user2930069 2014-08-29 03:15:04