PDA

查看完整版本 : PHP截取時間(日期)問題??


domainplayer
2005-10-08, 01:04 AM
想請教一下各位,
我若想在我的BAZAAR.INFO顯示拍賣資訊的地方新增一欄"張貼日期",
就是當使用者送出(張貼)拍賣訊息後,
有沒有什麼方法可以直接從資料庫裡取得該筆拍賣data的創立時間??
或著有沒有辦法可以在送出的同時從server截取時間(日期)並加以紀錄??

希望php高手能幫忙解答一下!
thanks!!
:bow :bow :bow

青狼
2005-10-08, 01:36 AM
一般都是在賣方送出拍賣資料的同時就將時間存到資料庫裡

到時在叫出該筆資料就好了

domainplayer
2005-10-08, 01:46 AM
一般都是在賣方送出拍賣資料的同時就將時間存到資料庫裡

到時在叫出該筆資料就好了
我登入phpMyAdmin檢查過了,
每筆拍賣在送出時會儲存的欄位只有"拍賣標題", "價格", "簡介"....等項目,並沒有時間...

有沒有什麼指令能夠直接叫出該筆拍賣的創立時間??
例如windows裡的每個檔案都可以從內容看到他的建立時間...

或是該怎樣創立一個新的欄位(時間),使用者在張貼新拍賣物時能將server時間儲存起來?

青狼
2005-10-08, 01:55 AM
我登入phpMyAdmin檢察過了,
每筆拍賣的欄位只有"拍賣標題", "價格", "簡介"....等項目,並沒有時間...

有沒有什麼指令能夠直接叫出該筆拍賣的創立時間??

例如windows裡的每個檔案都可以從內容看到他的建立時間...

或是該怎樣在創立一個新的欄位(時間)時,呼叫出server時間並加以儲存?

你要在資料庫創一個欄位用來儲存時間.

一般做法.在該資料表加上一個欄位.(例如欄位名為adddate).

然後在資料存檔的SQL加上一個存日期的語法

抓取資料創建的時間.將時間存入adddate欄位

domainplayer
2005-10-08, 01:57 AM
你要在資料庫創一個欄位用來儲存時間.

一般做法.在該資料表加上一個欄位.(例如欄位名為adddate).

然後在資料存檔的SQL加上一個存日期的語法

抓取資料創建的時間.將時間存入adddate欄位
yeah
我要問的就是那個語法! :songyy
有人知道該怎麼設嗎?

domainplayer
2005-10-08, 02:02 AM
by the way,
其實資料裡有一個addtime的項目,
但每筆拍賣物的addtime數值都是像 1128664635 這樣的怪數字串,
請問這是不是mysql裡時間的特殊儲存格式?
若是的話該怎麼把它呼叫成正常的"年/月/日"? :bow

青狼
2005-10-08, 02:08 AM
yeah
我要問的就是那個語法! :songyy
有人知道該怎麼設嗎?

你先到資料庫裡在該資料表下加個欄位.名字看你要取啥

假設

欄位名稱是adddate

型態選datetime

Null選NOT Null

存檔

打開PHP裡負責存檔的那個檔案.找到他存檔的SQL

加上去就好了.我不知道你的是哪種方式.所以沒辦法說的很清楚

我弄個假設範例好了



例如以下是他原本的SQL
$sql="insert into domain (domainname) values( '$domainname') ";

將他改成

$nowtime = date( "Y-m-d"); //抓現在的年月日

$sql="insert into domain (domainname,adddate) values( '$domainname', '$nowtime') ";

試試看吧.祝你好運

virileman
2005-10-08, 12:50 PM
by the way,
其實資料裡有一個addtime的項目,
但每筆拍賣物的addtime數值都是像 1128664635 這樣的怪數字串,
請問這是不是mysql裡時間的特殊儲存格式?
若是的話該怎麼把它呼叫成正常的"年/月/日"? :bow

那串數字 1128664635 是 unix timestamp 的表示法

php 手冊上 time() function 中有一段:「
Returns the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT). 」

可以用 date() 來轉換成人類讀得懂的格式,範例:

<?php
$SubmitTime = 1128664635;
$HumanReadableTime = date( "Y-m-d", $SubmitTime);
echo $HumanReadableTime;
?>


可以用其它參數來更換出顯示的 format,詳情請查看 php manual 的 date() function

有關 MySQL 語法的話,樓上的青狼兄有解釋清楚了,建議可以買本書放在手邊方便查閱用

小弟推薦這本內容豊富也淺顯易懂的書: 入門 SQL http://www.hot.net.tw/cgi-bin/introbook2?supplier_id=001&publisher_id=014&sup_orderid=DB20066

或者是網路上的資源也很豊富

domainplayer
2005-10-08, 06:43 PM
太太太太...感激青狼兄與virileman兄啦!!
你們兩位提供的方法我都試成功了 :songyy
我把時間放在拍賣物detail裡,
http://www.bazaar.info
就是點擊拍賣標題後會跳出的小視窗右上角^^

我這幾天一直在摸索PHP,
以前根本搞不懂資料庫與程式之間的關係,
現在終於有點概念了... ?:teeth

goodyork
2005-10-09, 09:12 AM
hoho,那个是timestamp格式, 一般都是用这个的。
因为你直接存"2005-10-01 21:00:01"这样的东西,排序效率很低,而且遇到用户端在不同时区的问题的话,就非常不好解决了。

多看看manual吧