Heim Backend-Entwicklung PHP-Tutorial PHP 关于strtotime(" x month") bug的解决

PHP 关于strtotime(" x month") bug的解决

Jun 13, 2016 am 10:47 AM
array date strtotime

PHP 关于strtotime("- x month") bug的解决

Nach dem Login kopieren

strtotime('-x month'); 在涉及到月份修改的时候,可能不会得到预料的结果。

此为php的一个bug:

https://bugs.php.net/bug.php?id=27793

?

如:当前时间为: 2011-08-31 17:21:22

date_default_timezone_set('Asia/Shanghai');
$t = time();
print_r(array(
??? ??? ??? date('Y年m月',$t),
??? ??? ??? date('Y年m月',strtotime('- 1 month',$t)),
??? ??? ??? date('Y年m月',strtotime('- 2 month',$t)),
));

?>

上面代码输出:

Array
(
??? [0] => 2011年08月
??? [1] => 2011年07月
??? [2] => 2011年07月
)

而预期的结果是:

Array
(
??? [0] => 2011年08月
??? [1] => 2011年07月
??? [2] => 2011年06月
)

?

============================================

?

可以用如下方法解决:

date_default_timezone_set('Asia/Shanghai');

$first_day_of_month = date('Y-m',time()) . '-01 00:00:01';
$t = strtotime($first_day_of_month);
print_r(array(
??? ??? ??? date('Y年m月',$t),
??? ??? ??? date('Y年m月',strtotime('- 1 month',$t)),
??? ??? ??? date('Y年m月',strtotime('- 2 month',$t)),
));

?>

输出:

Array
(
??? [0] => 2011年08月
??? [1] => 2011年07月
??? [2] => 2011年06月
)

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP-Warnung: date() erwartet, dass Parameter 2 lang ist, die Zeichenfolge ist eine Lösung PHP-Warnung: date() erwartet, dass Parameter 2 lang ist, die Zeichenfolge ist eine Lösung Jun 22, 2023 pm 08:03 PM

Bei der Entwicklung mit PHP-Programmen stoßen Sie häufig auf Warn- oder Fehlermeldungen. Unter diesen kann eine Fehlermeldung erscheinen: PHPWarning:date()expectsparameter2tobelong,stringgiven. Die Fehlermeldung bedeutet: Es wird erwartet, dass der zweite Parameter der Funktion date() eine lange Ganzzahl (long) ist, aber tatsächlich wird ihm ein String (string) übergeben. Also, wir

So erstellen und benennen Sie eine Datei/einen Ordner basierend auf dem aktuellen Zeitstempel So erstellen und benennen Sie eine Datei/einen Ordner basierend auf dem aktuellen Zeitstempel Apr 27, 2023 pm 11:07 PM

Wenn Sie nach einer Möglichkeit suchen, Dateien und Ordner automatisch auf der Grundlage von Systemzeitstempeln zu erstellen und zu benennen, sind Sie hier genau richtig. Es gibt eine supereinfache Möglichkeit, diese Aufgabe zu erledigen. Die erstellten Ordner oder Dateien können dann für verschiedene Zwecke verwendet werden, z. B. zum Speichern von Dateisicherungen, zum Sortieren von Dateien nach Datum usw. In diesem Artikel erklären wir in einigen sehr einfachen Schritten, wie Sie in Windows 11/10 automatisch Dateien und Ordner erstellen und diese entsprechend dem Zeitstempel des Systems benennen. Die verwendete Methode ist ein Batch-Skript, das sehr einfach ist. Ich hoffe, Ihnen hat die Lektüre dieses Artikels gefallen. Abschnitt 1: So erstellen und benennen Sie automatisch einen Ordner basierend auf dem aktuellen Zeitstempel des Systems. Schritt 1: Navigieren Sie zunächst zum übergeordneten Ordner, in dem Sie den Ordner erstellen möchten.

Array mit der Array.Sort-Funktion in C# sortieren Array mit der Array.Sort-Funktion in C# sortieren Nov 18, 2023 am 10:37 AM

Titel: Beispiel für die Verwendung der Array.Sort-Funktion zum Sortieren eines Arrays in C#. Text: In C# ist Array eine häufig verwendete Datenstruktur, und häufig sind Array-Sortiervorgänge erforderlich. C# stellt die Array-Klasse bereit, die über die Sort-Methode verfügt, um Arrays bequem zu sortieren. In diesem Artikel wird gezeigt, wie Sie ein Array mithilfe der Array.Sort-Funktion in C# sortieren, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen wir die grundlegende Verwendung der Array.Sort-Funktion verstehen. Array.So

Einführung in Methoden und Verwendung der Klassen Date und SimpleDateFormat zur Verarbeitung von Zeit in Java Einführung in Methoden und Verwendung der Klassen Date und SimpleDateFormat zur Verarbeitung von Zeit in Java Apr 21, 2023 pm 03:01 PM

1. Einführung Die Date-Klasse im Paket java.util stellt eine bestimmte Zeit dar, die auf Millisekunden genau ist. Wenn wir unsere Date-Klasse verwenden möchten, müssen wir unsere Date-Klasse einführen. Das direkte Schreiben des Jahres in die Date-Klasse führt nicht zum korrekten Ergebnis. Da das Datum in Java ab 1900 berechnet wird, erhalten Sie das gewünschte Jahr, solange Sie den ersten Parameter mit der Anzahl der Jahre seit 1900 ausfüllen. Der Monat muss um 1 subtrahiert werden und der Tag kann direkt eingefügt werden. Diese Methode wird selten verwendet und die zweite Methode wird häufig verwendet. Bei dieser Methode wird eine Zeichenfolge, die einem bestimmten Format entspricht, z. B. jjjj-MM-tt, in Daten vom Typ „Datum“ konvertiert. Definieren Sie zunächst ein Objekt vom Typ Datum

So erhalten Sie die Millisekundendarstellung eines Datums mithilfe der getTime()-Methode der Date-Klasse So erhalten Sie die Millisekundendarstellung eines Datums mithilfe der getTime()-Methode der Date-Klasse Jul 24, 2023 am 11:42 AM

So erhalten Sie eine Millisekundendarstellung des Datums mit der Methode getTime() der Date-Klasse. In Java ist die Date-Klasse eine Klasse, die zur Darstellung von Datum und Uhrzeit verwendet wird. Es bietet viele nützliche Methoden zum Bearbeiten und Abrufen von Informationen über Datumsobjekte. Unter diesen ist die Methode getTime() eine wichtige Methode in der Date-Klasse, die die Millisekundendarstellung des Datumsobjekts zurückgeben kann. Als nächstes werden wir detailliert beschreiben, wie Sie diese Methode verwenden, um die Millisekundendarstellung eines Datums zu erhalten, und entsprechende Codebeispiele bereitstellen. Verwendung der Date-Klasse

Welche Optionen gibt es für Kalender- und Datumsbibliotheken in Python? Welche Optionen gibt es für Kalender- und Datumsbibliotheken in Python? Oct 21, 2023 am 09:22 AM

Es gibt viele hervorragende Kalenderbibliotheken und Datumsbibliotheken in Python, die uns bei der Abwicklung datums- und kalenderbezogener Vorgänge helfen können. Als Nächstes stelle ich Ihnen einige gängige Optionen vor und stelle entsprechende Codebeispiele bereit. Datetime-Bibliothek: Datetime ist das integrierte Datums- und Uhrzeitverarbeitungsmodul von Python. Es bietet viele datums- und zeitbezogene Klassen und Methoden, mit denen Datums- und Uhrzeitangaben, Zeitunterschiede und andere Vorgänge verarbeitet werden können. Beispielcode: importdatetime#Erhalten Sie das aktuelle Datum

So verwenden Sie Stringbuild-, Date- und Calendar-Klassen in Java So verwenden Sie Stringbuild-, Date- und Calendar-Klassen in Java May 22, 2023 pm 04:52 PM

Stringbuild-Klasse Da der Objektinhalt der String-Klasse nicht geändert werden kann, wird bei jedem Zusammenfügen ein neues String-Objekt erstellt, was zeitaufwändig ist und Speicherplatz verschwendet. Zu diesem Zeitpunkt müssen Sie dieses Problem durch StringBuild lösen Die von Java bereitgestellte Klasse StringBuilder ist ein String-Puffer, der als Container betrachtet werden kann ist variabel. Die Konstruktionsmethode publicStringBuilder(): erstellt einen leeren Puffer publicStringBuilder(Stringsr

Einfache und klare Methode zur Verwendung der PHP-Funktion array_merge_recursive() Einfache und klare Methode zur Verwendung der PHP-Funktion array_merge_recursive() Jun 27, 2023 pm 01:48 PM

Beim Programmieren in PHP müssen wir häufig Arrays zusammenführen. PHP stellt die Funktion array_merge() bereit, um die Array-Zusammenführung abzuschließen. Wenn jedoch derselbe Schlüssel im Array vorhanden ist, überschreibt diese Funktion den ursprünglichen Wert. Um dieses Problem zu lösen, stellt PHP in der Sprache auch eine Funktion array_merge_recursive() bereit, die Arrays zusammenführen und die Werte derselben Schlüssel beibehalten kann, wodurch das Programmdesign flexibler wird. array_merge

See all articles