① php獲取當前時間、年份、月份、日期和天數
獲取當前時間、年份、月份、日期和天數是PHP編程中常用的實踐。PHP提供了多種函數來處理時間日期的獲取與格式化。下面將詳細介紹PHP中獲取和格式化時間日期的常用方法。
獲取當前時間主要依賴於PHP的`Date()`函數,該函數能夠將時間戳轉換為易讀的日期與時間格式。函數語法如下:
`Date(format, timestamp)`
其中,`format`參數用於指定輸出的日期格式,而`timestamp`參數可選,用來指定時間戳,默認為`time()`函數返回的當前時間戳。
格式化參數`format`涵蓋了一些常用日期字元,如:
`Y`表示完整四位數的年份(例如2019);
`y`表示兩位數的年份(例如19);
`F`表示完整文本格式的月份(例如January);
`M`表示三個字母的月份(例如Jun);
`m`表示帶前導零的月份(例如04);
`n`表示無前導零的月份(例如4);
`d`表示帶前導零的日期(例如01-31);
`j`表示無前導零的日期(例如1-31);
`D`表示星期的3字母縮寫(例如Wed);
`l`表示完整英文的星期(例如Wednesday);
`w`表示星期中的第幾天(例如0表示星期天);
`W`表示一年中的第幾周;
`z`表示一年中的第幾天(例如0-366);
通過`Date()`函數,我們可以輕松獲取和格式化日期與時間。例如,以下代碼將輸出當前的中文日期:
運行結果:今天是:2019年04月24日
獲取簡單的時間同樣依賴於`Date()`函數,但我們需要使用一些特定的格式化參數。例如,以下是用於獲取時間的常用字元:
`H`表示24小時格式,有前導零(例如08,18);
`h`表示12小時格式,有前導零(例如06,11);
`G`表示24小時格式,無前導零(例如9,17);
`g`表示12小時格式,無前導零(例如6,12);
`i`表示分鍾,有前導零(例如00-59);
`s`表示秒,有前導零(例如00 -59);
`A`表示大寫的午前和午後(例如AM 或 PM);
`a`表示小寫的午前和午後(例如am 或 pm);
`I`表示是否為夏令時;
在獲取時間的實例中,下面的代碼將輸出當前的完整時間:
運行結果:今天是:2019年04月24日 16:34:58 PM
獲取時區時,可以通過設置時區參數來確保准確的時間。例如,將時區設置為"Asia/Shanghai",則代碼如下:
運行結果:當前時間是:2019年04月24日 16:34:58 PM (上海時區)
為了獲取日期信息,可以使用`getdate()`函數。這個函數返回一個數組,包含指定的日期和時間信息,如果沒有給出時間戳,則輸出本地當前的日期和時間。函數聲明如下:
array getdate(int timestamp);
如果需要驗證日期的正確性,在程序開發中,可以使用`checkdate()`函數來檢查輸入的日期是否有效。如果日期有效,返回`true`,否則返回`false`。函數聲明如下:
bool checkdate(int month, int day, int year);
時間戳的獲取可以通過`time()`函數實現,該函數返回當前時間戳。函數聲明如下:
int time();
創建日期時,可以使用`mktime()`函數與`date()`函數。`mktime()`函數返回日期的Unix時間戳,而`date()`函數則用於將時間戳轉換為可讀的格式。函數語法如下:
時間戳時間的實例代碼如下:
運行結果:創建日期是:2015-06-10 09:12:31 AM
通過字元串創建日期時,可以使用`strtotime()`函數。這個函數可以將人類可讀的字元串轉換為Unix時間戳,從而實現日期和時間的創建。函數語法如下:
字元串時間的實例代碼如下:
運行結果:2019-04-25 12:00:00 AM, 2019-04-27 12:00:00 AM, 2019-07-24 05:53:08 PM
需要注意的是,`strtotime()`函數可能不完全准確,因此應檢查輸入的字元串是否正確。
更多日期實例,例如輸出下周六的日期和輸出七月四日之前的天數,可以使用`Date()`函數配合其他日期相關函數實現。例如,以下代碼展示了輸出下周六的日期:
實例代碼如下:
運行結果:2019年04月27日
輸出七月四日之前的天數的實例代碼如下:
運行結果:2019年07月01日
在網站中自動更新版權年份時,可以使用`Date()`函數。以下是一個示例代碼,用於在網站上自動更新年份:
實例代碼如下:
運行結果:版權所有 © 2019
通過以上介紹,我們可以了解到PHP中獲取與格式化時間日期的多種方法,這對於處理時間相關問題非常有用。確保正確使用這些函數,可以提高代碼的效率與准確性。希望這些信息能對您在PHP編程中處理時間日期問題有所幫助。
② 5.3不支持 mssql ,所有要用到以前的版本,官網好像只有5.3及以上版本;要用php5.3必須要用sqlsrv.dll嗎
如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx自行下載微軟提供的The SQL Server Driver for PHP。這是一個自解壓文件,解壓後會得到以下幾個文件:
php_sqlsrv_52_nts_vc6.dll
php_sqlsrv_52_ts_vc6.dll
php_sqlsrv_53_nts_vc6.dll
php_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc6.dll
php_sqlsrv_53_ts_vc9.dll
php_sqlsrv_license.rtf
SQLServerDriverForPHP.chm
SQLServerDriverForPHP_Readme.htm
其中,52,53表示PHP的5.2.X和5.3.X的版本;nts表示非線和安全,ts表示線程安全;vc6表示使用Apache作為Web Server,vc9表示使用IIS作為Web Server。
根據您的配置,將相應的DLL文件拷貝到php安裝目錄的ext文件夾中,接下來打開php.ini,添加以下語句打開php_sqlsrv和php_pdo_sqlsrv擴展:
——————————————————–
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_53_ts_vc6.dll
[PHP_SQLSRV]
extension=php_sqlsrv_53_ts_vc6.dll
—————————————————
這里的53表示的是php5.3,如果你的是5.2版,就改成52,如果你的PHP版本是線程安全的,那麼你的PHP安裝目錄下應該有一個php5ts.dll,與這里的兩行語句對應,如果是php5nts.dll,那麼上面的語句應該是:
—————————————————————-
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_53_nts_vc6.dll
[PHP_SQLSRV]
extension=php_sqlsrv_53_nts_vc6.dll
—————————————————-
壓縮包里有各個版本對於的dll文件,大家可以去仔細核查。
開啟擴展後,重啟apache,這樣就可以連接sqlserver了,但是還有一點要注意,如果你沒有安裝Microsoft SQL Server 2008 R2 Native Client,必須去http://msdn.microsoft.com/en-us/library/cc296170(SQL.90).aspx下載安裝,因為微軟的這個擴展包需要這個支持。
一切妥當之後,就可以寫php代碼了,如果你下載了The SQL Server Driver for PHP,那麼在解壓縮後的文件夾里有一個幫助文檔,你可以很容易的找到示例,在這里站長介紹一個簡單的例子:
<?php
//本地測試的服務名
$serverName = 「(127.0.0.1)」;
//使用sql server身份驗證,參數使用數組的形式,一次是用戶名,密碼,資料庫名
//如果你使用的是windows身份驗證,那麼可以去掉用戶名和密碼
$connectionInfo = array( 「UID」=>」root」,
「PWD」=>」root2010″,
「Database」=>」master」);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
echo 「Connection established.\n」;
}
else
{
echo 「Connection could not be established.\n」;
die( print_r( sqlsrv_errors(), true));
}
?>
如果連接不成功,重啟sql server再試。
③ 現在要升級php5.4已上的版本,怎麼升級
一、前言
我們公司伺服器上的PHP版本是5.2,真的太舊了,除了很多新特性無法使用之外,PHP5.4的性能也比5.2版本有所提高,有助於提供業務的吞吐量。今年,我們計劃將公司所有業務的PHP版本升級為5.4.41。
二、升級前准備
在升級PHP版本之前,首先要做的是檢查業務代碼的語法兼容性。其實,在官網上已經有相關的升級指引,我參考的是這2個鏈接。
從 PHP 5.2.x 移植到 PHP 5.3.x:http://php.net/manual/zh/migration53.php
從 PHP 5.3.X 遷移到 PHP 5.4.X:http://php.net/manual/zh/migration54.php
官方的文檔中,沒有升級指引從PHP5.2直接升級到PHP5.4,因此,需要對以上的升級指引,做一個歸納總結。上面的鏈接中有好幾篇子文章,我主要關注的是「不向下兼容的變化」,「PHP 5.3.x 中棄用的功能」,「被移除的擴展」,「其他改變」……,主要目的是找出不兼容的語法(導致錯誤),以及將會被移除的函數。
我們使用以下一個表格來進行總結,方便各業務的人員能夠對照PHP版本升級帶來的變化而修改各自的業務代碼
以上內容摘抄自官網的一些說明,這里就不詳細列出來了。
三、測試
完善的單元測試和功能測試可以保證PHP版本升級後能及時發現問題。
四、上線方案
灰度,再灰度,這個是我們的原則。上線的時候,先對一個機房的伺服器PHP版本進行升級,再逐步覆蓋到所有的伺服器。與此同時,上線之後,要密切留意是否error.log裡面是否包含「PHP Fatal error」的錯誤日誌,伺服器的響應狀態是否正常。
---------------------
④ php連sqlserver2008 r2需要什麼版本的ntwdblib.dll
版本的選擇是依據php版本決定的,具體如下:
一、php5.3以下的版本連接sql server
5.3以下的版本擴展裡面自帶一個php_mssql.dll;接資料庫的擴展,可以利用這個擴展鏈接資料庫,(只限於鏈接低版本資料庫)。
具體的步驟如下:
1:首先安裝sql server,超級不好安裝,我之前安裝的是2008版本的,Windows過期後就不能用了,然後重裝還裝不上,最後重裝系統才裝上
2:確定SQL裝的時候用的是混合認證模式,或SQL驗證模式,然後打開php的配置文件(php.ini),開啟mssql擴展 (extension=php_pdo_mssql.dll前面的分號去掉)並且需要把mssql.secure_connection = On 重啟後生效。
如果比較順利的話已經可以連接資料庫了,如果連不上就需要繼續低下的配置:
3: 檢查ntwdblib文件的版本(php/下面和Apache/下面)下載正確的版本的 ntwdblib.dll(2000.80.194.0)覆蓋現有的DLL文件,(把ntwdblib.dll,php_mssql.dll 復制到system32目錄中也可以)ntwdblib.dll 用於PHP連接MSSQL2005或2008的驅動文件。
4:測試連接:mssql_connect('localhost,1433', '用戶名', '密碼');
二、php5.3+連接sql server
其 實5.3以下的php版本已經很少用了,況且安全性和兼容性都不好,所以高版本的php還是比較常見的。實踐證明低版本的php連接資料庫成功率比較低 (2005以上的版本幾乎不能使用),推薦使用php5.3+ php使用微軟專門的擴展 SQLSRV 來連接sqlserver資料庫
步驟如下:
1:先到微軟網站下載 SQL Server Driver for PHP 是一個自解壓的 EXE文件,解壓縮後你會得到這么幾個文件:
其中的52、53表示就是php的5.2.x和5.3.x 版本,選擇跟你php版本相匹配的;vc6或vc9的選擇要看你使用的是什麼web伺服器軟體,如果使用的是IIS那就選擇vc9的,如果是Apache 則選擇vc6的,ts和nts的選擇要看你安裝的php版本是線程安全版的還是非線程安全版,ts是線程安全,nts是非線程安全。
⑤ php輸出1到100的奇數完整代碼
以下是 PHP 輸出 1 到 100 的奇數的完整代碼:
<?php
for ($i = 1; $i <= 100; $i++) {
if ($i % 2 != 0) {
echo $i . " ";
}
}
?>
代碼的執行過程如下:
使用 for 循環從 1 到 100 遍歷每個數。
判斷當前數是否為奇數,如果是,使用 echo 函數輸出該數。
循環結束,輸出所有的奇數。
輸出結果為:1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
Regenerate response