首頁 php教程 php手册 PHP,Mysql日期和时间整理

PHP,Mysql日期和时间整理

Jun 13, 2016 am 09:37 AM
日期 時間

工作一年,收获了很多,慢慢做些总结,提升工作效率,


工作中mysql使用的时间是一个UNIX时间戳:从1970年1月1日0点开始到当前时间的秒数,由于是int类型,很方便的适用于计算机处理,不仅仅是php和mysql的数据交互的一种格式,在各种客户端,也是数据交互的标准(android/IOS)等,因此如果只是保存和显示日期的时候,应该使用UNIX时间戳来计算日期和做为标准的日期格式。


工作中常用的流程是:将HTML页面的时间转化为时间戳保存到mysql中,从mysql中取出时间戳格式化展示在web或手机客户端。总之mysql中保存的时间是UNIX时间戳,然后被PHP格式化为合适的时间


介绍几个常用的函数


1.date(),2.mktime(),3.getdate(),4.strftime()


1.date()

PHP中获取时间和日期

使用date()函数:将时间戳或当前时间转化成格式化的字符串,例如:

echo date('Y-i-s');//输出2014-3-25


2.mktime()

使用mktime()将时间转化成UNIX时间戳

$timestamp = mktime();

获取当前时间戳有三种方法:

mktime(),time(),date('U')

mktime做时间运算

mktime(12,0,0,$mon,$day+10,$year);十天以后的时间戳


3.getdate()函数:

$today = getdate();

print_r($today);

//输出

Array
(
[seconds] => 38
[minutes] => 38
[hours] => 22
[mday] => 25
[wday] => 2
[mon] => 3
[year] => 2014
[yday] => 83
[weekday] => Tuesday
[month] => March
[0] => 1395758318
)

使用checkdate()函数检验日期有效性


4.strftime()

格式化时间戳

mysql格式化时间

1.DATE_FORMAT()

2.UNIX_TIMESTAMP()返回格式化成UNIX时间戳的日期,例如:SELECT UNIX_TIMESTAMP(date) FROM table,这样就可以在PHP中处理了


PHP中格式化时间的函数比较少,介绍几个常用的格式化时间函数

	/**
	 * 
	 *将timestamp时间转化为x时x分x秒
	 * 
	 */
    public static function getTimeLong($seconds) {
        if (!$seconds) {
            return '0秒';
        }
        $ret = '';
        if ($seconds >= 3600) {
            $hours = (int)($seconds / 3600);
            $seconds = $seconds % 3600;
            if ($hours) {
                $ret .= ($hours . '时');
            }
        }
        if ($seconds >= 60) {
            $mi = (int)($seconds / 60);
            $seconds = $seconds % 60;
            if ($mi) {
                $ret .= ($mi . '分');
            }
        }
        if ($seconds) {
            $ret .= ($seconds . '秒');
        }
        return $ret;
    }
登入後複製


	/**
	 * 将相差timestamp转为如“1分钟前”,“3天前”等形式
	 *
	 * @param timestamp $ts_diff 当前时间 - 要格式化的timestamp
	 */
	public static function formatTime($ts_diff)
	{
		if ($ts_diff <=0)
		{
			return date('Y-m-d');
		}
		else if ( $ts_diff <= 3600 )
		{
			return max(1, (int)($ts_diff/60)) . '分钟前';
		}
		else if ( $ts_diff <= 86400 )
		{
			return ((int)($ts_diff/3600)) . '小时前';
		}
		else
		{
			return ((int)($ts_diff/86400)) . '天前';
		}
	}
登入後複製

    /** 将数字星期转换成字符串星期 weekNum2String($num)
     * @param int
     * @return string
     */
    public static function weekNum2String($num){
        switch($num){
            case 1:
                return '星期一';
            case 2:
                return '星期二';
            case 3:
                return '星期三';
            case 4:
                return '星期四';
            case 5:
                return '星期五';
            case 6:
                return '星期六';
            case 7:
                return '星期日';
            default:
                return '未知';
        }
    }
登入後複製



本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

微博怎麼能按日期找以前的微博_微博按日期找以前的微博方法 微博怎麼能按日期找以前的微博_微博按日期找以前的微博方法 Mar 30, 2024 pm 07:26 PM

微博怎麼能按日期找以前的微博_微博按日期找以前的微博方法

抖音10級燈牌多少錢? 10級粉絲燈牌需要幾天? 抖音10級燈牌多少錢? 10級粉絲燈牌需要幾天? Mar 11, 2024 pm 05:37 PM

抖音10級燈牌多少錢? 10級粉絲燈牌需要幾天?

PPT講義列印自動出現的日期進行去除的操作方法 PPT講義列印自動出現的日期進行去除的操作方法 Mar 26, 2024 pm 08:16 PM

PPT講義列印自動出現的日期進行去除的操作方法

小紅書發佈作品時間怎麼設定?發布作品時間準確嗎? 小紅書發佈作品時間怎麼設定?發布作品時間準確嗎? Mar 24, 2024 pm 01:31 PM

小紅書發佈作品時間怎麼設定?發布作品時間準確嗎?

艾爾登法環通關需要多久 艾爾登法環通關需要多久 Mar 11, 2024 pm 12:50 PM

艾爾登法環通關需要多久

Ubuntu17.10頂欄怎麼顯示日期與計秒? Ubuntu17.10頂欄怎麼顯示日期與計秒? Jan 08, 2024 am 10:41 AM

Ubuntu17.10頂欄怎麼顯示日期與計秒?

Linux 檔案時間查看技巧詳解 Linux 檔案時間查看技巧詳解 Feb 21, 2024 pm 01:15 PM

Linux 檔案時間查看技巧詳解

如何使用Python中的時間和日期模組 如何使用Python中的時間和日期模組 Oct 16, 2023 am 08:11 AM

如何使用Python中的時間和日期模組

See all articles