十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
1、將時間轉(zhuǎn)換為時間戳
創(chuàng)新互聯(lián)建站專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、嵊州網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為嵊州等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
[sql] view plaincopyprint?
select unix_timestamp('2009-10-26 10-06-07')
如果參數(shù)為空,則處理為當(dāng)前時間
2、將時間戳轉(zhuǎn)換為時間
[sql] view plaincopyprint?
select from_unixtime(1256540102)
有些應(yīng)用生成的時間戳是比這個多出三位,是毫秒表示,如果要轉(zhuǎn)換,需要先將最后三位去掉,否則返回NULL
UNIX_TIMESTAMP(date)
如果沒有參數(shù)調(diào)用,返回一個Unix時間戳記(從'1970-01-01 00:00:00'GMT開始的秒數(shù))。如果UNIX_TIMESTAMP()用一個date參數(shù)被調(diào)用,它返回從'1970-01-01 00:00:00' GMT開始的秒數(shù)值。date可以是一個DATE字符串、一個DATETIME字符串、一個TIMESTAMP或以YYMMDD或YYYYMMDD格式的 本地時間的一個數(shù)字。
[sql] view plaincopyprint?
mysql select UNIX_TIMESTAMP();
- 882226357
mysql select UNIX_TIMESTAMP('1997-10-04 22:23:00');
- 875996580
當(dāng)UNIX_TIMESTAMP被用于一個TIMESTAMP列,函數(shù)將直接接受值,沒有隱含的“string-to-unix-timestamp”變換。
FROM_UNIXTIME(unix_timestamp)
以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp參數(shù)所表示的值,取決于函數(shù)是在一個字符串還是或數(shù)字上下文中被使用。
[sql] view plaincopyprint?
mysql select FROM_UNIXTIME(875996580);
- '1997-10-04 22:23:00'
mysql select FROM_UNIXTIME(875996580) + 0;
- 19971004222300
FROM_UNIXTIME(unix_timestamp,format)
返回表示 Unix 時間標(biāo)記的一個字符串,根據(jù)format字符串格式化。format可以包含與DATE_FORMAT()函數(shù)列出的條目同樣的修飾符。
[sql] view plaincopyprint?
mysql select FROM_UNIXTIME(UNIX_TIMESTAMP(),
'%Y %D %M %h:%i:%s %x');
- '1997 23rd December 03:43:30 x'
通過 UNIX_TIMESTAMP 函數(shù)把 MySQL 數(shù)據(jù)庫中的 date 類型數(shù)據(jù)轉(zhuǎn)換成 unix timestamp 形式的一個整形數(shù)字:
[sql] view plaincopyprint?
select UNIX_TIMESTAMP('2006-02-28') testdate;
[sql] view plaincopyprint?
按理說得到的時間戳應(yīng)該可以直接拿來給 PHP 的 date() 等函數(shù)使用。但奇怪的是:
echo date("Y-m-d",$testdate);
顯示出來的日期跟數(shù)據(jù)庫實(shí)際的日期相比卻少了一天,百思不得其解。反復(fù)查看 MySQL 關(guān)于 UNIX_TIMESTAMP 函數(shù)的說明,終于發(fā)現(xiàn)問題所在:“The server interprets date as a value in the current time zone and converts it to an internal value in UTC.” 原來 MySQL 的 UNIX_TIMESTAMP 函數(shù)得到的時間戳是 UTC 時間,而不是服務(wù)器設(shè)定的特定 Time zone 的時間。經(jīng)過這樣一轉(zhuǎn)化,時間戳就憑空少了8個小時(對于咱這里來說),而 PHP 中的 timestamp 則計算的都是系統(tǒng)設(shè)定時區(qū)的當(dāng)?shù)貢r間。因此 2006-02-28 這個日期被減去了8個小時,自然變成了2006-02-27。
[sql] view plaincopyprint?
解決方法:把這八個小時加回去(UNIX_TIMESTAMP('2006-02-28' + INTERVAL 8 HOUR));或者棄用 UNIX_TIMESTAMP 函數(shù), 直接得到 MySQL date 字符串之后通過 strtotime() 函數(shù)來把字符串轉(zhuǎn)化成真正的本地時間戳。
找出下個月生日的動物也是容易的。假定當(dāng)前月是4月,那么月值是4,你可以找在5月出生的動物 (5月),方法是:
[sql] view plaincopyprint?
mysql SELECT name, birth FROM pet WHERE MONTH(birth) = 5;
.................
$conn=mysql_connect("localhost","root","1234")or die("連接數(shù)據(jù)庫失敗");
$conndb=mysql_select_db("test",$conn)or die("連接表失敗");
$query="select * from ttable";
$result = mysql_query($query,$conn);
while($row = mysql_fetch_array($result)){
$rows[]=$row;
}
$random =rand(0,count($rows));
print_r($rows[$random]);
mysql 中把時間戳轉(zhuǎn)換成普通時間,使用FROM_UNIXTIME函數(shù)
一、FROM_UNIXTIME函數(shù)簡介
1、函數(shù)作用:將MYSQL中以INT(11)存儲的時間以"YYYY-MM-DD"格式來顯示。
2、語法:FROM_UNIXTIME(unix_timestamp,format)
返回表示 Unix 時間標(biāo)記的一個字符串,根據(jù)format字符串格式化。format可以包含與DATE_FORMAT()函數(shù)列出的條目同樣的修飾符。
根據(jù)format字符串格式化date值。
請參考
public static void insertDemo(String[] args) throws Exception {
MsgSwapDAOImpl dao = new MsgSwapDAOImpl();
Connection conn = dao.jdbcUtil.getConnection();
String appKey ="40825Td288461463";
String msg = "wlllllll";
conn.setAutoCommit(false);
String sql = "insert into TTT(ID, CREATE_DATE) values(?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 888888);
pstmt.setTimestamp(2, TimeUtil.nowTimestamp());
如果是日期字符串類型就是~
CREATE TABLE 表名
(
time datetime NOT NULL DEFAULT NOW(),
...
)
如果是時間戳~
CREATE TABLE 表名
(
time int NOT NULL DEFAULT CURRENT_TIMESTAMP(),
...
)
-----希望對你有幫助~
如果是插入的時候的話~在對應(yīng)值上填寫NOW()/CURRENT_TIMESTAMP() 也是可以的