簡體   English   中英

今天而不是過去的24小時?

[英]today and not last 24 hours?

我我的php代碼,我做time()-86400來獲取過去24小時中的所有內容,但是我如何才能得到今天或昨天的所有內容。 因此,它不再是86400秒,而是應該在午夜12點之后到當前時間。

希望這是有道理的..但是我該怎么做呢?

如果要從數據庫中“獲取”,為什么不在查詢中這樣做呢?

SELECT * FROM `table` WHERE DATE(`created_at`) = '2011-03-28';

如果要將日期存儲為UNIX時間戳記:

SELECT * FROM `table` WHERE DATE(FROM_UNIXTIME(`created_at`)) = '2011-03-28';

time()-strtotime('today') -現在和午夜之間的時差; time()-strtotime('yesterday') -現在和昨天午夜之間的時差; time()-strtotime('-2 days') ...

僅適用於昨天(范圍從$ min到$ max)

$start = strtotime('yesterday')
$end = strtotime('today') - 1;

等等

以下將為您提供自1970年1月1日以來經過的秒數。每個時間戳高於此值的對象都是從當天開始的(假設您已正確設置了時區和本地時間)。

$time = strtotime(date('Y-m-d 00:00:00'));

您可以使用PHP datestrtotime函數來從現在開始選擇一天並檢索該特定日期的秒數。 有關更多信息,請參見: http : //php.net/manual/en/function.date.phphttp://php.net/manual/en/function.strtotime.php

我在這里同意戈登的觀點-有很多日期/時間示例。 但是,讓我們再看一遍-假設今天從午夜開始,您可以使用:

$ start = strtotime('today');

假設“今天”在23:59結束,那么簡單的算術就意味着,如果您將$ start增加24小時並花費1秒鍾,那么您將到達今天的結尾。

所以:

$start = strtotime('today');
$end = $start + (3600 * 24) - 1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM