Meta tags:
description= PHP erleichtert Datumsberechnungen mit DateTime::sub() und DateInterval – so ziehen Sie Zeitspannen zuverlässig von einem Datum ab.;
Headings (most frequently used words):
subtrahieren, date_sub, zeit, von, einem, datum, in, php, wie, datetime, sub, funktioniert, den, dateinterval, string, aufbauen, veränderbar, vs, unveränderbar, datetimeimmutable, bevorzugen, fallstricke, die, sie, kennen, sollten, carbon, für, eine, lesbare, syntax, verwenden, fazit, übungen, monatsüberlauf, invertierte, intervalle, addieren, statt, sommerzeit,
Text of the page (most frequently used words):
php (106), datetime (26), sie (24), sub (23), das (22), date (22), #dateinterval (18), die (17), lernen (16), 2023 (16), den (15), new (15), mysql (15), und (13), echo (12), #string (10), format (9), interval (9), eine (8), datetimeimmutable (8), von (8), objekt (8), kopieren (8), outputs (8), ein (8), für (7), html (7), einem (7), subtrahieren (7), ajax (7), carbon (6), verwenden (6), datum (6), intervall (6), mit (6), oder (6), ist (6), wenn (6), stunden (6), xml (6), w3docs (5), json (5), code (5), tools (5), übungen (5), wie (5), was (5), zum (5), minuten (5), intervalle (5), arrays (5), formatter (5), color (5), alle (4), generator (4), zeit (4), dem (4), des (4), auf (4), tage (4), uhrzeit (4), monate (4), date_sub (4), über (3), diff (3), encoder (3), editor (3), quizze (3), javascript (3), css (3), syntax (3), fallstricke (3), sollten (3), funktioniert (3), next (3), einen (3), vom (3), macht (3), der (3), zwischen (3), zwei (3), daten (3), abzuziehen (3), monatsüberlauf (3), invertierte (3), klassen (3), tag (3), kalender (3), invert (3), p1m (3), sodass (3), dauer (3), februar (3), märz (3), letzten (3), werden (3), exception (3), vor (3), parser (3), simplexml (3), mail (3), while (3), print (3), data (3), funktionen (3), formular (3), schleife (3), italiano (2), português (2), español (2), français (2), русский (2), deutsch (2), english (2), beautifier (2), password (2), python (2), java (2), git (2), bücher (2), snippets (2), fazit (2), lesbare (2), kennen (2), veränderbar (2), unveränderbar (2), bevorzugen (2), aufbauen (2), this (2), page (2), date_sun_info (2), date_parse_from_format (2), previous (2), seine (2), addiert (2), übergebenen (2), zeitspanne (2), date_format (2), date_diff (2), date_add (2), zeitspannen (2), erstellen (2), iso (2), 8601 (2), unterschied (2), newdate (2), use (2), kann (2), dass (2), ergebnis (2), stattdessen (2), genau (2), einer (2), sommerzeit (2), dieses (2), nach (2), hat (2), diese (2), hier (2), nur (2), benötigen (2), last (2), day (2), monats (2), nicht (2), earlier (2), p10d (2), direkt (2), verändert (2), geändert (2), methode (2), gibt (2), zurück (2), beispiel (2), ohne (2), aus (2), konstruktor (2), try (2), catch (2), token (2), sekunden (2), jahre (2), verwendet (2), date_default_timezone_set (2), datetimezone (2), public (2), regex (2), math (2), filter (2), array (2), yield (2), switch (2), stat (2), rewind (2), md5 (2), list (2), key (2), isset (2), include (2), foreach (2), for (2), file (2), empty (2), elseif (2), else (2), current (2), count (2), continue (2), connect (2), break (2), datenbank (2), create (2), statische (2), konstanten (2), oop (2), advanced (2), url (2), variablen (2), hash (2), 2026, rechte, vorbehalten, entwickler, gemacht, sprache, datenschutzrichtlinie, kontakt, uns, unternehmen, probier, üben, kostenlose, tutorials, beispiele, web, seit, 2014, yes, helpful, prüfen, zerlegt, bestandteile, konvertiert, formatierten, subtrahiert, übung, weitere, informationen, finden, unter, umgekehrte, operation, messen, formatieren, ergebnisses, vorzugsweise, behalten, monaten, bei, hinterkopf, achten, todatestring, subdays, submonths, parse, große, codebasen, kapselt, bibliothek, lesbaren, verkettbaren, hilfsmethoden, optional, nativen, decken, standardfälle, aber, komplexe, logik, klarer, machen, sommerzeitgrenze, hinweg, passt, korrekt, bleibt, erhalten, vergangene, möglicherweise, anderen, endet, wählen, tages, stundenbasierte, bewusst, danach, gleiche, vorheriger, früher, meinen, pt24h, dies, relevant, zurückgegebene, wiederverwenden, automatisch, richtung, differenz, setzt, negative, eigenschaft, negativ, effektiv, addieren, statt, geht, zunächst, rollt, vormonats, relativen, month, ganzer, zielmonats, normalisiert, überlauf, nächsten, monat, eines, landet, begrenzt, sich, größten, teil, anwendungscodes, standardmäßig, veränderbare, dann, einsetzen, gezielte, direkte, änderungen, unchanged, weitergeben, unerwartet, darauf, aufruft, löst, problem, lässt, original, unverändert, neue, instanz, prüft, streng, ungültiger, fehlendes, zeittoken, wirft, benutzereingaben, stammt, schließen, block, hinweis, minutes, pt90m, rein, zeitbasierte, funktionieren, genauso, months, hours, p2m1dt3h, beachten, bedeutet, häufige, fehlerquelle, kombinieren, mehrere, einheiten, gleichzeitig, pt45s, pt30m, pt4h, p6m, p3y, bedeutung, präfix, period, obligatorisch, trennt, datumsteil, zeitteil, dauerformat, angabe, expliziten, vorhersehbar, zeitzone, ini, days, p5d, utc, aufrufe, verkettet, können, dasselbe, ursprüngliche, wird, wichtige, punkte, erwartet, einzelnes, argument, beschreibt, abgezogen, soll, signatur, lautet, viel, seite, erklärt, man, aufbaut, veränderbaren, unveränderbaren, objekten, viele, stolpern, tagen, anfang, jetzt, gehört, häufigsten, datumsaufgaben, alte, prozedurale, funktion, alias, wurde, moderner, objektorientierte, zusammen, sollte, entfernt, erleichtert, datumsberechnungen, ziehen, zuverlässig, zeitzonen, zip, variablenbehandlung, stream, output, control, network, mysqli, misc, libxml, schlüsselwörter, ftp, filesystem, fehler, directory, zip_read, zip_open, zip_entry_read, zip_entry_open, zip_entry_name, zip_entry_filesize, zip_entry_compressionmethod, zip_entry_compressedsize, zip_entry_close, zip_close, from, xpath, xor, xml_set_unparsed_entity_decl_handler, xml_set_start_namespace_decl_handler, xml_set_processing_instruction_handler, xml_set_object, xml_set_notation_decl_handler, xml_set_external_entity_ref_handler, xml_set_end_namespace, decl_handler, xml_set_element_handler, xml_set_default_handler, xml_set_character_data_handler, xml_parser_set_option, xml_parser_get_option, xml_parser_free, xml_parser_create_ns, xml_parser_create, xml_parse_into_struct, xml_parse, xml_get_error_code, xml_get_current_line_number, xml_get_current_column_number, xml_get_current_byte_index, xml_error_string, wordwrap, warning_count, vsprintf, vprintf, vfprintf, var_export, var_dump, var, valid, utf8_encode, utf8_decode, usort, usleep, use_result, unset, unserialize, unpack, unlink, unixtojd, uniqid, umask, uksort, ucwords, ucfirst, uasort, trim, trigger_error, trait, touch, __tostring, tmpfile, timezone_version_get, timezone_transitions_get, timezone_open, timezone_offset_get, timezone_name_get, timezone_name_from_abbr, timezone_location_get, timezone_identifiers_list, timezone_abbreviations_list, time_sleep_until, time_nanosleep, time, throw, thread_safe, thread_id, tempnam, tanh, tan, syslog, sys_getloadavg, symlink, substr_replace, substr_count, substr_compare, substr, strval, strtr, strtoupper, strtotime, strtolower, strtok, strstr, strspn, strrpos, strripos, strrev, strrchr, strptime, strpos, strpbrk, strncmp, strncasecmp, strnatcmp, strnatcasecmp, strlen, stristr, stripslashes, stripos, stripcslashes, strip_tags, strftime, strcspn, strcoll, strcmp, strchr, strcasecmp, str_word_count, str_split, str_shuffle, str_rot13, str_replace, str_repeat, str_pad, str_ireplace, str_getcsv, stmt_init, static, ssl_set, sscanf, srand, sqrt, sqlstate, sprintf, soundex, sort, socket_set_timeout, socket_set_blocking, socket_get_status, sleep, sizeof, sinh, sin, simplexml_load_string, simplexml_load_file, simplexml_import_dom, similar_text, shuffle, show_source, sha1_file, sha1, settype, setrawcookie, setlocale, setcookie, set_local_infile_handler, set_file_buffer, set_exception_handler, set_error_handler, set_charset, serialize, select_db, scandir, savexml, rtrim, rsort, round, rollback, rmdir, rewinddir, return, restore_exception_handler, restore_error_handler, reset, require_once, require, rename, registerxpathnamespace, refresh, reap_async_query, realpath_cache_size, realpath_cache_get, realpath, real_query, real_escape_string, real_connect, readlink, readfile, readdir, range, rand, rad2deg, quotemeta, quoted_printable_encode, quoted_printable_decode, query, protected, private, printf, print_r, prev, prepare, preg_split, preg_replace_callback_array, preg_replace_callback, preg_replace, preg_quote, preg_match_all, preg_match, preg_last_error, preg_grep, preg_filter, pow, pos, popen, mysqli_poll, ping, php_strip_whitespace, überblick, pfsockopen, pclose, pathinfo, parse_str, parse_ini_string, parse_ini_file, pack, output_reset_rewrite_vars, output_add_rewrite_var, ord, mysqli_options, openlog, opendir, octdec, ob_start, ob_list_handlers, ob_implicit_flush, ob_gzhandler, ob_get_level, ob_get_length, ob_get_flush, ob_get_contents, ob_get_clean, ob_flush, ob_end_flush, ob_end_clean, ob_clean, number_format, nl2br, nl_langinfo, next_result, natsort, natcasesort, namespace, multi_query, mt_srand, mt_rand, mt_getrandmax, move_uploaded_file, more_results, money_format, mktime, mkdir, min, microtime, metaphone, md5_file, max, ltrim, lstat, long2ip, log1p, log10, log, localtime, localeconv, linkinfo, link, libxml_use_internal_errors, libxml_set_streams_context, libxml_set_external_entity_loader, libxml_get_last_error, libxml_get_errors, libxml_disable_entity_loader, libxml_clear_errors, levenshtein, lchown, lchgrp, lcg_value, lcfirst, ksort, krsort, kill, juliantojd, json_encode, join, jewishtojd, jdtounix, jdtojulian, jdtojewish, jdtogregorian, jdtofrench, jdmonthname, jddayofweek, is_writeable, is_writable, is_uploaded_file, is_string, is_scalar, is_resource, is_real, is_readable, is_object, is_numeric, is_null, is_nan, is_long, is_link, is_iterable, is_integer, is_int, is_infinite, is_float, is_finite, is_file, is_executable, is_double, is_dir, is_countable, is_callable, is_bool, is_array, ip2long, intval, interface, intdiv, insteadof, instanceof, insert_id, init, info, inet_pton, inet_ntop, include_once, in_array, implode, implements, ignore_user_abort, idate, hypot, http_response_code, htmlspecialchars_decode, htmlspecialchars, htmlentities, html_entity_decode, hrtime, highlight_string, highlight_file, hexdec, hex2bin, hebrevc, hebrev, headers_sent, headers_list, header_remove, header_register_callback, header, haschildren, __halt_compiler, gregoriantojd, gmstrftime, gmmktime, gmdate, global, glob, gettype, gettraceasstring, gettrace, gettimeofday, getservbyport, getservbyname, getrandmax, getprotobynumber, getprotobyname, getprevious, getnamespaces, getname, getmxrr, getmessage, getline, gethostname, gethostbynamel, gethostbyname, gethostbyaddr, getfile, getdocnamespaces, getdate, getcwd, getcode, getchildren, get_server_version, get_server_info, get_resource_type, get_proto_info, get_html_translation_table, get_host_info, get_defined_vars, get_connection_stats, get_client_version, get_client_stats, get_client_info, get_charset, get_browser, fwrite, function, ftruncate, ftp_systype, ftp_ssl_connect, ftp_size, ftp_site, ftp_set_option, ftp_rmdir, ftp_rename, ftp_rawlist, ftp_raw, ftp_quit, ftp_pwd, ftp_put, ftp_pasv, ftp_nlist, ftp_nb_put, ftp_nb_get, ftp_nb_fput, ftp_nb_fget, ftp_nb_continue, ftp_mlsd, ftp_mkdir, ftp_mdtm, ftp_login, ftp_get_option, ftp_get, ftp_fput, ftp_fget, ftp_exec, ftp_delete, ftp_connect, ftp_close, ftp_chmod, ftp_chdir, ftp_cdup, ftp_alloc, ftell, fstat, fsockopen, fseek, fscanf, frenchtojd, fread, fputs, fputcsv, fprintf, fprint, fpassthru, fopen, fnmatch, fmod, flush, floor, flock, floatval, finally, final, filter_var_array, filter_var, filter_list, filter_input_array, filter_input, filter_id, filter_has_var, filetype, filesize, fileperms, fileowner, filemtime, fileinode, filegroup, filectime, fileatime, file_put_contents, file_get_contents, file_exists, field_seek, field_count, fgetss, fgets, fgetcsv, fgetc, fflush, fetch_row, fetch_object, fetch_lengths, fetch_fields, fetch_field_direct, fetch_field, fetch_assoc, fetch_array, fetch_all, feof, fclose, ezmlm_hash, extract, extends, expm1, explode, exp, exit, eval, error_reporting, error_log, error_list, error_get_last, error, errno, endswitch, endif, endforeach, endfor, enddeclare, end, easter_days, easter_date, each, mysqli_dump_debug_info, doubleval, dns_get_record, dns_get_mx, dns_check_record, diskfreespace, disk_total_space, disk_free_space, dirname, dir, delete, deg2rad, defined, define, default, decoct, declare, dechex, decbin, debug_zval_dump, debug_print_backtrace, debug_backtrace, debug, date_timezone_set, date_timezone_get, date_timestamp_set, date_timestamp_get, date_time_set, date_sunset, date_sunrise, date_parse, date_offset_get, date_modify, date_isodate_set, date_interval_format, date_interval_create_from_date_string, date_get_last_errors, date_default_timezone_get, date_date_set, date_create_from_format, date_create, data_seek, crypt, crc32, count_chars, cosh, cos, copy, convert_uuencode, convert_uudecode, convert_cyr_string, __construct, constant, const, connection_timeout, connection_status, connection_aborted, connect_error, connect_errno, compact, commit, closelog, closedir, close, clone, clearstatcache, class, chunk_split, chroot, chr, chown, chop, chmod, children, chgrp, checkdnsrr, checkdate, chdir, character_set_name, change_user, ceil, case, callable, cal_to_jd, cal_info, cal_from_jd, cal_days_in_month, boolval, bindec, bin2hex, basename, base_convert, autocommit, attributes, atanh, atan2, atan, asxml, asort, asinh, asin, arsort, array_walk_recursive, array_walk, array_values, array_unshift, array_unique, array_uintersect_uassoc, array_uintersect_assoc, array_uintersect, array_udiff_uassoc, array_udiff_assoc, array_udiff, array_sum, array_splice, array_slice, array_shift, array_search, array_reverse, array_replace_recursive, array_replace, array_reduce, array_rand, array_push, array_product, array_pop, array_pad, array_multisort, array_merge_recursive, array_merge, array_map, array_keys, array_key_exists, array_intersect_ukey, array_intersect_uassoc, array_intersect_key, array_intersect_assoc, array_intersect, array_flip, array_filter, array_fill_keys, array_fill, array_diff_ukey, array_diff_uassoc, array_diff_key, array_diff_assoc, array_diff, array_count_values, array_combine, array_column, array_chunk, array_change_key_case, and, affected_rows, addslashes, addcslashes, addchild, addattribute, acosh, acos, abstract, abs, reference, poll, live, suche, einführung, dom, expat, laden, limit, update, löschen, order, where, select, prepared, insert, multiple, get, einfügen, table, database, iterables, namespaces, eigenschaften, methoden, traits, interfaces, abstrakte, vererbung, zugriffsmodifikatoren, destruktor, objekte, exceptions, callback, filters, sessions, cookies, datei, upload, dateien, schreiben, open, read, dateiverarbeitung, json_decode, komplett, pflichtfelder, formularvalidierung, formularverarbeitung, forms, superglobals, schleifen, operatoren, zahlen, strings, datentypen, kommentare, installieren, intro, gültigkeitsbereich, sortieren, _server, _request, _post, mehrdimensionale, indizierte, globals, _get, loop, assoziative, tutorial, anmelden, durchsuchen, formatters, reverse, sha256, length, calculator, colors, hsl, hex, mixer, converter, picker, general, kurse,
Text of the page (random words):
anced php callback funktionen php json php exceptions php oop php was ist oop php klassen objekte php konstruktor php destruktor php zugriffsmodifikatoren php vererbung php konstanten abstrakte klassen in php php interfaces php traits php statische methoden php statische eigenschaften php namespaces php iterables mysql database mysql datenbank mysql connect mysql create db mysql create table mysql daten einfügen mysql get last id mysql insert multiple mysql prepared mysql select data mysql where mysql order by mysql daten löschen mysql update data mysql limit data php xml php xml parser php simplexml parser php simplexml laden php xml expat php xml dom php ajax ajax einführung ajax php ajax datenbank ajax xml ajax live suche ajax poll php reference abs abstract acos acosh addattribute addchild addcslashes addslashes affected_rows and array array_change_key_case array_chunk array_column array_combine array_count_values array_diff array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_fill array_fill_keys array_filter array_flip array_intersect array_intersect_assoc array_intersect_key array_intersect_uassoc array_intersect_ukey array_key_exists array_keys array_map array_merge array_merge_recursive array_multisort array_pad array_pop array_product array_push array_rand array_reduce array_replace array_replace_recursive array_reverse array_search array_shift array_slice array_splice array_sum array_udiff array_udiff_assoc array_udiff_uassoc array_uintersect array_uintersect_assoc array_uintersect_uassoc array_unique array_unshift array_values array_walk array_walk_recursive arsort as asin asinh asort asxml atan atan2 atanh attributes autocommit base_convert basename bin2hex bindec boolval break cal_days_in_month cal_from_jd cal_info cal_to_jd callable case catch ceil change_user character_set_name chdir checkdate checkdnsrr chgrp children chmod chop chown chr chroot chunk_split class clearstatcache clone close closedir closelog commit compact connect connect_errno connect_error connection_aborted connection_status connection_timeout const constant __construct continue convert_cyr_string convert_uudecode convert_uuencode copy cos cosh count count_chars count crc32 crypt current current data_seek date date_add date_create date_create_from_format date_date_set date_default_timezone_get date_default_timezone_set date_diff date_format date_get_last_errors date_interval_create_from_date_string date_interval_format date_isodate_set date_modify date_offset_get date_parse date_parse_from_format date_sub date_sun_info date_sunrise date_sunset date_time_set date_timestamp_get date_timestamp_set date_timezone_get date_timezone_set debug debug_backtrace debug_print_backtrace debug_zval_dump decbin dechex declare decoct default define defined deg2rad delete die dir dirname disk_free_space disk_total_space diskfreespace dns_check_record dns_get_mx dns_get_record do doubleval mysqli_dump_debug_info each easter_date easter_days echo echo else elseif empty empty end enddeclare endfor endforeach endif endswitch errno error error_get_last error_list error_log error_reporting eval exception exit exp explode expm1 extends extract ezmlm_hash fclose feof fetch_all fetch_array fetch_assoc fetch_field fetch_field_direct fetch_fields fetch_lengths fetch_object fetch_row fflush fgetc fgetcsv fgets fgetss field_count field_seek file file_exists file_get_contents file_put_contents fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype filter_has_var filter_id filter_input filter_input_array filter_list filter_var filter_var_array final finally floatval flock floor flush fmod fn fnmatch fopen for foreach fpassthru fprint fprintf fputcsv fputs fread frenchtojd fscanf fseek fsockopen fstat ftell ftp_alloc ftp_cdup ftp_chdir ftp_chmod ftp_close ftp_connect ftp_delete ftp_exec ftp_fget ftp_fput ftp_get ftp_get_option ftp_login ftp_mdtm ftp_mkdir ftp_mlsd ftp_nb_continue ftp_nb_fget ftp_nb_fput ftp_nb_get ftp_nb_put ftp_nlist ftp_pasv ftp_put ftp_pwd ftp_quit ftp_raw ftp_rawlist ftp_rename ftp_rmdir ftp_set_option ftp_site ftp_size ftp_ssl_connect ftp_systype ftruncate function fwrite get_browser get_charset get_client_info get_client_stats get_client_version get_connection_stats get_defined_vars get_host_info get_html_translation_table get_proto_info get_resource_type get_server_info get_server_version getchildren getcode getcwd getdate getdocnamespaces getfile gethostbyaddr gethostbyname gethostbynamel gethostname getline getmessage getmxrr getname getnamespaces getprevious getprotobyname getprotobynumber getrandmax getservbyname getservbyport gettimeofday gettrace gettraceasstring gettype glob global gmdate gmmktime gmstrftime gregoriantojd __halt_compiler haschildren header header_register_callback header_remove headers_list headers_sent hebrev hebrevc hex2bin hexdec highlight_file highlight_string hrtime html_entity_decode htmlentities htmlspecialchars htmlspecialchars_decode http_response_code hypot idate if ignore_user_abort implements implode in_array include include_once inet_ntop inet_pton info init insert_id instanceof insteadof intdiv interface intval ip2long is_array is_bool is_callable is_countable is_dir is_double is_executable is_file is_finite is_float is_infinite is_int is_integer is_iterable is_link is_long is_nan is_null is_numeric is_object is_readable is_real is_resource is_scalar is_string is_uploaded_file is_writable is_writeable isset isset jddayofweek jdmonthname jdtofrench jdtogregorian jdtojewish jdtojulian jdtounix jewishtojd join json_encode juliantojd key key kill krsort ksort lcfirst lcg_value lchgrp lchown levenshtein libxml_clear_errors libxml_disable_entity_loader libxml_get_errors libxml_get_last_error libxml_set_external_entity_loader libxml_set_streams_context libxml_use_internal_errors link linkinfo list list localeconv localtime log log10 log1p long2ip lstat ltrim mail max md5 md5_file metaphone microtime min mkdir mktime money_format more_results move_uploaded_file mt_getrandmax mt_rand mt_srand multi_query namespace natcasesort natsort new next next next_result nl_langinfo nl2br number_format ob_clean ob_end_clean ob_end_flush ob_flush ob_get_clean ob_get_contents ob_get_flush ob_get_length ob_get_level ob_gzhandler ob_implicit_flush ob_list_handlers ob_start octdec opendir openlog mysqli_options or ord output_add_rewrite_var output_reset_rewrite_vars pack parse_ini_file parse_ini_string parse_str pathinfo pclose pfsockopen php überblick php_strip_whitespace pi ping mysqli_poll popen pos pow preg_filter preg_grep preg_last_error preg_match preg_match_all preg_quote preg_replace preg_replace_callback preg_replace_callback_array preg_split prepare prev print print print_r printf private protected public query quoted_printable_decode quoted_printable_encode quotemeta rad2deg rand range readdir readfile readlink real_connect real_escape_string real_query realpath realpath_cache_get realpath_cache_size reap_async_query refresh registerxpathnamespace rename require require_once reset restore_error_handler restore_exception_handler return rewind rewind rewinddir rmdir rollback round rsort rtrim savexml scandir select_db serialize set_charset set_error_handler set_exception_handler set_file_buffer set_local_infile_handler setcookie setlocale setrawcookie settype sha1 sha1_file show_source shuffle similar_text simplexml_import_dom simplexml_load_file simplexml_load_string sin sinh sizeof sleep socket_get_status socket_set_blocking socket_set_timeout sort soundex sprintf sqlstate sqrt srand sscanf ssl_set stat stat static stmt_init str_getcsv str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split str_word_count strcasecmp strchr strcmp strcoll strcspn strftime strip_tags stripcslashes stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpbrk strpos strptime strrchr strrev strripos strrpos strspn strstr strtok strtolower strtotime strtoupper strtr strval substr substr_compare substr_count substr_replace switch symlink sys_getloadavg syslog tan tanh tempnam thread_id thread_safe throw time time_nanosleep time_sleep_until timezone_abbreviations_list timezone_identifiers_list timezone_location_get timezone_name_from_abbr timezone_name_get timezone_offset_get timezone_open timezone_transitions_get timezone_version_get tmpfile __tostring touch trait trigger_error trim try uasort ucfirst ucwords uksort umask uniqid unixtojd unlink unpack unserialize unset use use_result usleep usort utf8_decode utf8_encode valid var var_dump var_export vfprintf vprintf vsprintf warning_count while wordwrap xml_error_string xml_get_current_byte_index xml_get_current_column_number xml_get_current_line_number xml_get_error_code xml_parse xml_parse_into_struct xml_parser_create xml_parser_create_ns xml_parser_free xml_parser_get_option xml_parser_set_option xml_set_character_data_handler xml_set_default_handler xml_set_element_handler xml_set_end_namespace decl_handler xml_set_external_entity_ref_handler xml_set_notation_decl_handler xml_set_object xml_set_processing_instruction_handler xml_set_start_namespace_decl_handler xml_set_unparsed_entity_decl_handler xor xpath yield yield from zip_close zip_entry_close zip_entry_compressedsize zip_entry_compressionmethod zip_entry_filesize zip_entry_name zip_entry_open zip_entry_read zip_open zip_read php array php kalender php date php directory php fehler php exception php filesystem php filter php ftp php json php schlüsselwörter php libxml php mail php math php misc php mysqli php network php output control php regex php simplexml php stream php string php variablenbehandlung php xml parser php zip php zeitzonen date_sub php erleichtert datumsberechnungen mit datetime sub und dateinterval so ziehen sie zeitspannen zuverlässig von einem datum ab zeit von einem datum in php subtrahieren eine zeitspanne von einem datum abzuziehen vor 30 tagen anfang letzten monats zwei stunden vor jetzt gehört zu den häufigsten datumsaufgaben in php die alte prozedurale funktion date_sub ein alias von datetime sub wurde in php 8 0 entfernt sodass moderner code die objektorientierte methode datetime sub oder datetimeimmutable sub zusammen mit einem dateinterval verwenden sollte diese seite erklärt wie datetime sub funktioniert wie man den intervall string aufbaut den unterschied zwischen veränderbaren und unveränderbaren objekten und die kalender fallstricke monatsüberlauf invertierte intervalle sommerzeit über die viele stolpern wie datetime sub funktioniert sub erwartet ein einzelnes dateinterval argument das beschreibt wie viel zeit abgezogen werden soll die signatur lautet public datetime sub dateinterval interval datetime kopieren zwei wichtige punkte es verändert das objekt direkt das ursprüngliche datetime objekt wird geändert es gibt dasselbe objekt zurück sodass aufrufe verkettet werden können date new datetime 2023 10 15 new datetimezone utc interval new dateinterval p5d 5 days date sub interval echo date format y m d outputs 2023 10 10 kopieren die angabe einer expliziten datetimezone macht das ergebnis vorhersehbar ohne sie verwendet php die zeitzone aus date_default_timezone_set oder php ini den dateinterval string aufbauen dateinterval verwendet das iso 8601 dauerformat p n y n m n dt n h n m n s das präfix p period ist obligatorisch und ein t trennt den datumsteil vom zeitteil token bedeutung beispiel dauer y jahre p3y 3 jahre m monate p6m 6 monate d tage p10d 10 tage h stunden pt4h 4 stunden m minuten pt30m 30 minuten s sekunden pt45s 45 sekunden beachten sie dass m vor dem t monate bedeutet und nach dem t minuten eine häufige fehlerquelle kombinieren sie token um mehrere einheiten gleichzeitig abzuziehen date new datetime 2023 10 15 12 00 00 interval new dateinterval p2m1dt3h 2 months 1 day 3 hours date sub interval echo date format y m d h i s outputs 2023 08 14 09 00 00 kopieren rein zeitbasierte intervalle funktionieren genauso hier 90 minuten date new datetime 2023 10 15 08 30 00 date sub new dateinterval pt90m 90 minutes echo date format y m d h i s outputs 2023 10 15 07 00 00 kopieren hinweis dateinterval prüft das format streng ein ungültiger string zum beispiel ein fehlendes p oder pt ohne zeittoken wirft eine exception wenn die dauer aus benutzereingaben stammt schließen sie den konstruktor in einen try catch block ein veränderbar vs unveränderbar datetimeimmutable bevorzugen da datetime sub das objekt direkt verändert kann ein datetime das sie weitergeben unerwartet von code geändert werden der sub darauf aufruft datetimeimmutable löst dieses problem seine sub methode lässt das original unverändert und gibt eine neue instanz zurück date new datetimeimmutable 2023 10 15 earlier date sub new dateinterval p10d echo date format y m d outputs 2023 10 15 unchanged echo n echo earlier format y m d outputs 2023 10 05 kopieren für den größten teil des anwendungscodes sollten sie standardmäßig datetimeimmutable verwenden und das veränderbare datetime nur dann einsetzen wenn sie gezielte direkte änderungen benötigen fallstricke die sie kennen sollten monatsüberlauf das subtrahieren ganzer monate begrenzt sich nicht auf den letzten tag des zielmonats php normalisiert den überlauf in den nächsten monat das subtrahieren eines monats vom 31 märz landet im märz nicht im februar date new datetime 2023 03 31 date sub new dateinterval p1m echo date format y m d outputs 2023 03 03 kopieren hier geht p1m zunächst zum 31 februar den php auf den 3 märz rollt februar hat 2023 nur 28 tage wenn sie den letzten tag des vormonats benötigen verwenden sie stattdessen einen relativen string new datetime last day of previous month invertierte intervalle addieren statt subtrahieren ein dateinterval hat eine invert eigenschaft ist diese 1 ist das intervall negativ sodass sub die dauer effektiv addiert interval new dateinterval p1m interval invert 1 negative interval date new datetime 2023 10 15 date sub interval echo date format y m d outputs 2023 11 15 kopieren dies ist relevant wenn sie das von datetime diff zurückgegebene intervall wiederverwenden da dieses invert automatisch je nach richtung der differenz setzt sommerzeit wenn sie tage über eine sommerzeitgrenze hinweg subtrahieren passt php die uhrzeit so an dass das kalender ergebnis korrekt bleibt wenn sie stattdessen stunden subtrahieren pt24h erhalten sie genau 24 stunden vergangene zeit was möglicherweise auf einer anderen uhrzeit endet wählen sie tages oder stundenbasierte intervalle bewusst danach ob sie gleiche uhrzeit vorheriger tag oder genau 24 stunden früher meinen carbon für eine lesbare syntax verwenden für große codebasen kapselt die carbon bibliothek datetimeimmutable mit lesbaren verkettbaren hilfsmethoden sie ist optional die nativen klassen decken die standardfälle ab kann aber komplexe logik klarer machen use carbon carbon date carbon parse 2023 10 15 newdate date submonths 2 subdays 5 echo newdate todatestring outputs 2023 08 10 kopieren fazit verwend...
|