Heim  >  Artikel  >  Backend-Entwicklung  >  Codebeispiel einer Methode zur Berechnung des Zeitunterschieds in PHP und MySql

Codebeispiel einer Methode zur Berechnung des Zeitunterschieds in PHP und MySql

怪我咯
怪我咯Original
2017-07-10 09:42:361306Durchsuche

Das Berechnen des Zeitunterschieds in PHP ist manchmal mühsam! Aber solange Sie die Verwendung der Datums- und Uhrzeitfunktion beherrschen, wird es einfach.

Als ich kürzlich meinen Liebesschal studierte, musste ich die Anzahl der verliebten Tage berechnen. Dazu ist PHP erforderlich, um dies anhand des Datums jedes Tages zu berechnen Datumsberechnung:


(1) Wenn Sie eine Datenbank haben, ist es einfach! Wenn es sich um MSSQL handelt, können Sie
Trigger verwenden! Datumsdifferenz! Wenn es sich um MYSQL handelt, verwenden Sie die Differenz zwischen zwei Datumsfeldern. Das Berechnungsergebnis der Wertberechnung wird bei Bedarf einfach aufgerufen! Sie müssen die Zeit- und Datumsfunktion von PHP verwenden!
Die folgende Haupterklärung: Beispiel: Berechnen Sie die Anzahl der Tage vom 3. Mai 1998 bis zum 5.6.1999:


Die Der Code lautet wie folgt:

$days ist die Anzahl der erhaltenen Tage; Wenn der Parameter in mktime() standardmäßig verwendet wird, bedeutet dies, dass das aktuelle Datum verwendet wird, sodass die Anzahl der Tage ab dem Datum von Die Ausleihe des Buches kann berechnet werden.

$startdate=mktime("0","0","0","5","3","1998"); $enddate=mktime("0","0","0","6","5","1999"); //所得到的值为从1970-1-1到参数时间的总秒数结果是整数.那么下面的代码就好编多了 
$days=round(($enddate-$startdate)/3600/24) ; 
echo $days;
Lassen Sie uns abschließend über die SQL-Berechnungsmethode sprechen:


DateDiff-Funktion
Beschreibung: Gibt das Zeitintervall zwischen zwei Datumsangaben zurück.
Syntax:


Der Code lautet wie folgt:

Intervall: erforderlich.

String
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear>)

Ausdruck, der das Zeitintervall zwischen Datum1 und Datum2 angibt. Werte finden Sie im Abschnitt „Einstellungen“. Datum1, Datum2: erforderlich. Datumsausdruck. Zur Berechnung werden zwei Daten verwendet.
erster Wochentag: Optional. Eine Konstante, die den ersten Tag der Woche angibt. Wenn nicht angegeben, wird standardmäßig Sonntag verwendet. Werte finden Sie im Abschnitt „Einstellungen“.

erste Woche des Jahres: Optional. Konstante, die die erste Woche des Jahres angibt. Wenn nichts angegeben wird, wird standardmäßig die Woche vom 1. Januar verwendet. Werte finden Sie im Abschnitt „Einstellungen“.

Intervallparameter können die folgenden Werte haben:
yyyy (Jahr), q (Quartal), m (Monat), y (Anzahl der Tage in einem Jahr), d (Tag), w (Anzahl). Anzahl der Tage in einer Woche), ww (Woche), h (Stunde), n (Minute), s (Sekunde)

firstdayofweek Parameter kann die folgenden Werte haben:
(die folgenden sind: konstanter Wert Beschreibung)
vbUseSystem 0 Verwenden Sie die NLS-API-Einstellungen (Regional Language Support).
vbSunday 1 Sunday (Standard)
vbMonday 2 Monday
vbTuesday 3 Tuesday
vbWednesday 4 Wednesday
vbThursday 5 Thursday
vbFriday 6 Friday
vbSaturday 7 Saturday
firstweekofyear Parameter kann die folgenden Werte haben:
(Die folgenden sind: Beschreibung des Konstantenwerts)
vbUseSystem 0 Verwenden Sie die API-Einstellung Regional Language Support (NLS).
vbFirstJan1 1 Beginnt mit der Woche vom 1. Januar (Standard).
vbFirstFourDays 2 beginnt mit der ersten Woche des neuen Jahres, die mindestens vier Tage hat.
vbFirstFullWeek 3 beginnt mit der ersten vollen Woche des neuen Jahres.

Beschreibung: Die DateDiff-Funktion wird verwendet, um die Anzahl der angegebenen Zeitintervalle zu bestimmen, die zwischen zwei Datumsangaben liegen. Mit DateDiff können Sie beispielsweise die Anzahl der Tage zwischen zwei Daten oder die Anzahl der Wochen zwischen dem heutigen Tag und dem letzten Tag des Jahres berechnen.

Um die Anzahl der Tage zwischen Datum1 und Datum2 zu berechnen, können Sie „Tage im Jahr“ („y“) oder „Tage“ („d“) verwenden. Wenn das Intervall „Wochentag“ („w“) ist, gibt DateDiff die Anzahl der Wochen zwischen zwei Daten zurück. Wenn Datum1 ein Montag ist, zählt DateDiff die Anzahl der Montage vor Datum2. Dieses Ergebnis enthält Datum2, aber nicht Datum1. Wenn das Intervall „Woche“ („ww“) ist, gibt die DateDiff-Funktion die Anzahl der Wochen zwischen zwei Daten in der Kalendertabelle zurück. Die Funktion zählt die Anzahl der Sonntage zwischen Datum1 und Datum2. DateDiff wertet Datum2 aus, wenn Datum2 ein Sonntag ist, nicht jedoch Datum1, selbst wenn Datum1 ein Sonntag ist.

Wenn Datum1 nach Datum2 liegt, gibt die DateDiff-Funktion eine negative Zahl zurück.
Das Argument „firstdayofweek“ wirkt sich auf Berechnungen mit den Trennzeichen „w“ und „ww“ aus.

Wenn Datum1 oder Datum2 ein Datumsliteral ist, wird das angegebene Jahr zu einem festen Bestandteil des Datums. Wenn Datum1 oder Datum2 jedoch in Anführungszeichen („“) eingeschlossen ist und das Jahr weggelassen wird, wird das aktuelle Jahr jedes Mal eingefügt, wenn der Ausdruck Datum1 oder Datum2 im Code ausgewertet wird. Dadurch ist es möglich, Programmcode zu schreiben, der über verschiedene Jahre hinweg funktioniert.

Wenn das Intervall „Jahr“ („JJJJ“) ist, vergleichen Sie den 31. Dezember mit dem 1. Januar des nächsten Jahres. Obwohl die Differenz tatsächlich nur einen Tag beträgt, gibt DateDiff 1 zurück, um eine Differenz von einem Jahr anzuzeigen.

DatePart-Funktion

Beschreibung: Gibt den angegebenen Teil des angegebenen Datums zurück.
Syntax:


Der Code lautet wie folgt:

DatePart(interval, date[, firstdayofweek[, firstweekofyear>)

DatePart: 函数的语法有以下参数:

interval: 必选。字符串表达式,表示要返回的时间间隔。有关数值,请参阅“设置”部分。

date: 必选。要计算的日期表达式。

firstdayof week: 可选。指定星期中的第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。

firstweekofyear: 可选。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分。

interval 参数可以有以下值:
yyyy (年) 、q (季度) 、m (月) 、y (一年的日数) 、d (日) 、w (一周的日数) 、ww (周) 、h (小时) 、n (分钟) 、s (秒)

firstdayofweek 参数可以有以下值:
(以下分别为:常数 值 描述)
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbSunday 1 星期日(默认)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数可以有以下值:
(以下分别为:常数 值 描述)
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbFirstJan1 1 由 1 月 1 日所在的星期开始(默认)。
vbFirstFourDays 2 由在新年中至少有四天的第一周开始。
vbFirstFullWeek 3 由在新的一年中第一个完整的周(不跨年度)开始。

说明:DatePart 函数用于计算日期并返回指定的时间间隔。例如使用 DatePart 计算某一天是星期几或当前的时间。

firstdayofweek 参数会影响使用“w”和“ww”间隔符号的计算。
如果 date 是日期文字,则指定的年度会成为日期的固定部分。但是如果 date 被包含在引号 (” “) 中,并且省略年份,则在代码中每次计算 date 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码!

Das obige ist der detaillierte Inhalt vonCodebeispiel einer Methode zur Berechnung des Zeitunterschieds in PHP und MySql. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn