1. 程式人生 > >PHP字串、日期和時間

PHP字串、日期和時間

一、字串函式

1.格式化字串,使用printf()

輸出到螢幕:printf()

輸出到變數:sprintf()

提示:兩個函式使用方法一樣。

1.1 資料型別轉換

printf("This is my number:%o",55);//This is my number:67

轉換型別以%開頭,後面緊跟字母代表的型別。

注意:在格式控制元件字串中可以有多個%,但第二個引數的數目個數必須與%的個數一致。

型別指定符
指定符 說明
d 以十進位制數顯示引數
b 以二進位制顯示一個整數
c 以對等ASCII顯示一個整數
f 以浮點數顯示一個整數
o 以8進位制顯示一個整數
s 以字串顯示引數
x 以一個小寫十六進位制顯示一個整數
X 以一個大寫十六進位制數顯示一個整數

1.2 填充字元(指定長度,長度不足用特定字元填充)
printf("%04d",36);//輸出少於4位,將在前面新增0
//prints 0036
printf("% 4d",36);//輸出少於4位,將在前面加空格
//prints  36
printf("%'x4d",36);//除0和空格外,其它填充字元前面必須加單引號
//prints "xx36"

//提示:瀏覽器不會顯示多個空格,可以在輸出的外圍新增<pre>標記來強制顯示空格和新行。
echo  "<pre>The     spaces     will be visible</pre>";

1.3 指定字串輸出長度

echo "<pre>\n";
printf("%20s\n","Books"); //預設右對齊,不足20位,前置補空格。
printf("%20s\n","CDs");
//左對齊:在長度前加減號左對齊
printf("%-20s\n","Left aligned");
echo "</pre>";
1.4 指定精度(四捨五入)
printf("%.2f",5.3333);
//prints "5.33"
echo "\n";
printf("%.2f",5.3353);
//prints "5.34"
1.5 指定引數顯示順序
$dates=array(array('mon'=>12,'mday'=>25,'year'=>2011),
    array('mon'=>1,'mday'=>23,'year'=>2012)
);
$format=include("local_format.php");//如果要改變顯示格式,只需改變此檔案
foreach ($dates as $date){
    printf("$format",$date['mon'],$date['mday'],$date['year']);
}

//local_format.php 檔案內容
//return "%02d/%02d/%d<br/>";//mm/dd/yyyy
return "%2\$02d/%1\$02d/%3\$d<br/>";//dd/mm/yyyy

//2\$:第二個引數佔位符

1.6 將格式化的結果儲存到變數

保留2位小數,並將結果儲存到$cash變數中

$cash=sprintf("%.2f",21.334454);
echo "You have \$$cash to spend.";
// prints "You have $21.33 to spend."

2.1 字串就是字元的一個數組,我們可以象訪問陣列的元素一樣訪問單個字元。

$test='phpcoder';
echo $test[0];//prints "p"
echo $test[4];//prints "o"

2.2 strlen()獲取字串的長度。一個漢字佔3個長度

2.3 strstr(源字串,查詢的子字串),獲取從子符串開始到結尾的全部字串,找不到則返回false

//比較時區分大寫小
echo strstr("pAB7","AB");//prints "AB7"
//不區分大小寫
echo stristr("pAB7","ab");//prints "AB7"
//是否包含子字串
$membership="pAB7";
if(strstr($membership,"AB")){
    echo "<p>Your membership expires soon!</p>";
}

2.4 strpos(源字串,查詢的子字串) ,獲取子字串的索引
//獲取子字串的索引,找不到則返回false
echo strpos($membership,"xy");//prints 4
2.5 substr(字串,開始索引,長度) 擷取子字串
$test="phpcoder";
echo substr($test,3)."<br/>";//prints "coder"
echo substr($test,3,2)."<br/>";//prints "co"
//注意:如果第二個引數為負數,則索引從末尾開始計算,即從末尾開始取字元
$test="[email protected]";
if($test=substr($test,-3)==".fr"){
    echo ".fr";
}

2.5 strtok(源字串,分隔字串),拆分字串

$test="http://www.google.com/search?";
$test.="hl=en&ie=UTF-8&q=php+development+books&btnG=Google+Search";
$delims="?&";//分隔符可包含多個任意字元
$word=strtok($test,$delims);//第一次呼叫,並返回找到的第一個分解
while (is_string($word)){//為什麼測試返回型別?因為有多個分隔符,
//如果字串中兩個分隔符在一起時,當遇到第一個分隔符時,會導致返回一個空字串。
    if($word){
        echo $word."<br/>";
    }
    $word=strtok($delims);//第二次呼叫只需傳分隔符字串
}
2.6 trim(),ltrim(),rtrim(),刪除字串空格

2.7 strip_tags(源字串,需要保留的標記),刪除字串中的標記

$string="<p>\"I <em>simple</em> will not have it,\" <br/>said Mr Dean.</p><p><strong>The end.</strong></p>";
echo strip_tags($string,"<br/><p>");//僅保留"<br/><p>"標記,其它標記全部刪除
echo strip_tags($string);//刪除全部HTML標記。

2.8 substr_replace(源字串,插入的新字串,刪除開始索引,刪除的字元長度) ,用新的字元替換源指定位置的字元

$membership="mz11xyz";
echo substr_replace($membership,"89",2,2);//prints "mz89xyz" 替換2個字元
echo "\n";
echo substr_replace($membership,"89",2,1);//prints "mz891xyz" 只替換源字串中一個字元
echo "\n";
echo substr_replace($membership,"89",2);//prints "mz89" 不帶長度引數,為刪除位置後的全部字元

2.9  str_replace($search,$replace,$source)  替換字串

注意:引數可以是陣列或字串。

3.0 大小寫轉換

strtolower()  全部小寫

strtoupper() 全部大寫

ucwords() 每個單詞首字母大寫

ucfirst() 第一個字串的首字母大寫

3.1 字串換行

//將字串中換行符\n轉換成<br/>標記
$str="one line\n";
$str="another line\n";
echo nl2br($str);

//手動將文字換行
$string="As usual you will find me at http://www.witteringonaboutit.com/";
$string.="chat/eating_green_cheese/forum.php. Hope to see you there!";
echo  wordwrap($string,24,"<br/>\n");
echo  wordwrap($string,24,"<br/>\n",1);//強制按24個字元換行
//注意:必須帶第三個引數,否則在瀏覽器中不會換行。

3.2 explode()將字串拆分到陣列中
$start_date="2012-02-19";
$date_arrary=explode("-",$start_date);
echo($date_arrary[0]);//prints "2012"

二、日期和時間函式

2.1 time()得到當前日期的時間戳

2.2 getdate(時間戳) 返回日期資訊的關聯陣列。不帶引數為當前時間戳的日期。

注意:設定預設時區,如果不設定,則得到的時間為錯誤。

修改php.ini檔案

date.timezone=PRC

修改php.ini後重啟Apache

或者在程式碼獲時間前增加程式碼:

date_default_timezone_set(‘PRC’);

2.3 date(格式字串,時間戳) 格式化時間戳

2.4 mktime(時,分,秒,月,日,年) 建立時間戳

2.5 checkdate() 檢測日期。UNIX時間戳是從1970年1月1日開始,此前的日期都是無效的(負的)時間戳


相關推薦

PHP字串日期時間

一、字串函式 1.格式化字串,使用printf() 輸出到螢幕:printf() 輸出到變數:sprintf() 提示:兩個函式使用方法一樣。 1.1 資料型別轉換 printf("This is my number:%o",55);//This is my number

Layui彈出層日期時間選擇即時通訊分頁

怎樣 其中 日期時間 hub scrip 即時通 http 邏輯 asc Layui彈出層、日期和時間選擇、即時通訊、分頁 彈層組件文檔 - layui.layer 對於彈出層的感覺是:layer 至今仍作為 layui 的代表作,她的受眾廣泛並非偶然,而是這數年來的堅持、

python3數字日期時間

1、對數值進行取整 #使用內建的round(value,ndigits)函式來取整,ndigits指定保留的位數,在取整時會取值在偶數上,如1.25取一位會取整1.2,1.26會取整1.3 In [1]: round(1.23,1) Out[1]: 1.2 In [2]: round(1.2

Java日期時間JDK—API1.6.0(Date類Calendar類)

java.util,Date Java在java.util包中提供了Date類,這個類封裝了當前的日期和時間: 所有已經實現的介面:Serializable         Cloneable      &

PHP日期時間

Unix時間戳 從 Unix 紀元(格林威治時間 1970 年 1 月1日 00:00:00)到當前時間的秒數 .相關函式:time() --- 函式返回一個當前系統的時間戳mktime( ) --- 取得一個日期的 Unix 時間戳 1 格式:int mktime(時[,分[,秒[,月[,日[,年

[Swift通天遁地]五高階擴充套件-(3)日期時間型別的擴充套件方法

本文將演示日期和時間型別的擴充套件方法。 首先確保在專案中已經安裝了所需的第三方庫。 點選【Podfile】,檢視安裝配置檔案。 1 platform :ios, ‘12.0’ 2 use_frameworks! 3 4 target 'DemoApp' do 5 source

Excel_日期時間函數EDATEEOMONTH

分鐘 nbsp exce 閏年 連接 正數 函數 str style 一、日期 1、日期本質上是整數 2、範圍在1900年1月1日到9999年12月31日之間,對於負數和超出範圍的數字,設置為日期格式後顯示錯誤值 3、日期間的標準連接符號是“-&rdquo

MATLAB的日期時間

width 當前時間 tla 星期 ron num center 顯示 spa MATLAB的日期和時間常用函數 函數 說明 calender 返回日歷 clock 當前時間 date 當前日期 weekday 星期幾 now 當前的日期和時間

MYSQL學習筆記三:日期時間函數

div content minute name top fonts table hmm 指定 MYSQL學習筆記三:日期和時間函數 1. 獲取當前日期的函數和獲取當前時間的函數 /*獲取當前日期的函數和獲取當前時間的函數。將日期以‘YYYY-MM-DD‘或者’YYYYM

JAVA中日期時間的格式化選項

println 對象 bsp lec pub cti class 日子 月份 一、使用printf方法 1 import java.util.Date; 2 import java.util.Scanner; 3 4 5 public class Test

Python自動化3.0-------學習之路------日期時間

unix dst python自動化 相關 http -a 年份 字符串 cti Python 日期和時間 Python 程序能用很多方式處理日期和時間,轉換日期格式是一個常見的功能。 Python 提供了一個 time 和 calendar 模塊可以用於格式化日期和時間。

Java8 日期時間實用技巧

ron 定義 com 閏年 上下 代碼 添加 sta date 新的日期API ZoneId: 時區ID,用來確定Instant和LocalDateTime互相轉換的規則 Instant: 用來表示時間線上的一個點 LocalDate: 表示沒有時區的日期, Loca

數字日期時間

正在 作業 fff 數學家 nds num hour 開始 tro 數字的四舍五入 問題:   你想對浮點數執行指定精度的舍入運算。 解決方法:   對於簡單的舍入運算,使用內置的round(value, ndigits) 函數即可。比如: 1 #保留小數點後1位數,因

[Python3]日期時間處理

num import time模塊 now() sda 年份 -s 好的 等價 概述 在python中, date、time、datetime類提供了一系列處理日期、時間和時間間隔的函數。 在Python裏我們大致可以把其實現日期時間類分為5個: date僅用

DevExpress的DateEdit設置顯示日期時間

打開 log tools sta tails exp this att cnblogs DevExpress的DateEdit設置顯示日期和時間 http://blog.csdn.net/david_520042/article/details/51096975 1. 設置

datetime處理日期時間

datetime 時間 2017年 sep nbsp 星期 ber rom date datetime.now() # 獲取當前datetimedatetime.utcnow() datetime(2017, 5, 23, 12, 20) # 用指定日期時間創建dat

作業11-datetime處理日期時間

utc 指定日期 src 分享 etime img 星期六 日期 cnblogs datetime.now() # 獲取當前datetime datetime.utcnow() datetime(2017, 5, 23, 12, 20) # 用指定日期時間創建dat

4 Python 日期時間

日期 doc 打印 小數 -a windows cnblogs 更改 常見   Python 程序能用很多方式處理日期和時間,轉換日期格式是一個常見的功能。   Python 提供了一個 time 和 calendar 模塊可以用於格式化日期和時間。   時間間隔是以秒為單

怎樣在excel中快速輸入當前日期時間

clas strong ima 顯示效果 分享圖片 找到 如何 們的 get 找到並啟動我們的Microsoft Excel軟件,如圖 在excel中,我們先演示如何快速輸入當前“日期”,先在一個“單元格”裏面輸入“Ctrl+;”(就是“Ctrl“鍵

JDK8版本之日期時間API詳解

nds 可變 nan r.java 允許 應該 之一 常用 技巧 伴隨lambda表達式、streams以及一系列小優化,Java 8 推出了全新的日期時間API,在教程中我們將通過一些簡單的實例來學習如何使用新API。Java處理日期、日歷和時間的方式一直為社區所詬病,將