Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
85 views

PHP - Date - Time Functions - Manual

time manual

Uploaded by

rohitjack
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
85 views

PHP - Date - Time Functions - Manual

time manual

Uploaded by

rohitjack
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

2/17/14

PHP: Date/Time Functions - Manual

Downloads Documentation Get Involved Help


Search

PHP 5.6.0alpha2 released Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Exceptions Generators References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Context options and parameters Supported Protocols and Wrappers Security Introduction General considerations Installed as CGI binary Installed as an Apache module Filesystem Security Database Security Error Reporting Using Register Globals User Submitted Data Magic Quotes
www.php.net/manual/en/ref.datetime.php 1/27

2/17/14

PHP: Date/Time Functions - Manual

Hiding PHP Keeping Current Features HTTP authentication with PHP Cookies Sessions Dealing with XForms Handling file uploads Using remote files Connection handling Persistent Database Connections Safe Mode Command line usage Garbage Collection DTrace Dynamic Tracing Function Reference Affecting PHP's Behaviour Audio Formats Manipulation Authentication Services Command Line Specific Extensions Compression and Archive Extensions Credit Card Processing Cryptography Extensions Database Extensions Date and Time Related Extensions File System Related Extensions Human Language and Character Encoding Support Image Processing and Generation Mail Related Extensions Mathematical Extensions Non-Text MIME Output Process Control Extensions Other Basic Extensions Other Services Search Engine Extensions Server Specific Extensions Session Extensions Text Processing Variable and Type Related Extensions Web Services Windows Only Extensions XML Manipulation Keyboard Shortcuts ?
www.php.net/manual/en/ref.datetime.php 2/27

2/17/14

PHP: Date/Time Functions - Manual

This help j Next menu item k Previous menu item gp Previous man page gn Next man page G Scroll to bottom gg Scroll to top gh Goto homepage gs Goto search (current page) / Focus search box DatePeriod::__construct checkdate PHP Manual Function Reference Date and Time Related Extensions Date/Time Date/Time Introduction Installing/Configuring Predefined Constants DateTime DateTimeImmutable DateTimeInterface DateTimeZone DateInterval DatePeriod Date/Time Functions Supported Date and Time Formats List of Supported Timezones Change language: English Edit Report a Bug
www.php.net/manual/en/ref.datetime.php 3/27

2/17/14

PHP: Date/Time Functions - Manual

Date/Time Functions Table of Contents


checkdate Validate a Gregorian date date_add Alias of DateTime::add date_create_from_format Alias of DateTime::createFromFormat date_create_immutable_from_format Alias of DateTimeImmutable::createFromFormat date_create_immutable Alias of DateTimeImmutable::__construct date_create Alias of DateTime::__construct date_date_set Alias of DateTime::setDate date_default_timezone_get Gets the default timezone used by all date/time functions in a script date_default_timezone_set Sets the default timezone used by all date/time functions in a script date_diff Alias of DateTime::diff date_format Alias of DateTime::format date_get_last_errors Alias of DateTime::getLastErrors date_interval_create_from_date_string Alias of DateInterval::createFromDateString date_interval_format Alias of DateInterval::format date_isodate_set Alias of DateTime::setISODate date_modify Alias of DateTime::modify date_offset_get Alias of DateTime::getOffset date_parse_from_format Get info about given date formatted according to the specified format date_parse Returns associative array with detailed info about given date date_sub Alias of DateTime::sub date_sun_info Returns an array with information about sunset/sunrise and twilight begin/end date_sunrise Returns time of sunrise for a given day and location date_sunset Returns time of sunset for a given day and location date_time_set Alias of DateTime::setTime date_timestamp_get Alias of DateTime::getTimestamp date_timestamp_set Alias of DateTime::setTimestamp date_timezone_get Alias of DateTime::getTimezone date_timezone_set Alias of DateTime::setTimezone date Format a local time/date getdate Get date/time information gettimeofday Get current time gmdate Format a GMT/UTC date/time gmmktime Get Unix timestamp for a GMT date gmstrftime Format a GMT/UTC time/date according to locale settings idate Format a local time/date as integer localtime Get the local time microtime Return current Unix timestamp with microseconds mktime Get Unix timestamp for a date strftime Format a local time/date according to locale settings strptime Parse a time/date generated with strftime strtotime Parse about any English textual datetime description into a Unix timestamp
www.php.net/manual/en/ref.datetime.php 4/27

2/17/14

PHP: Date/Time Functions - Manual

time Return current Unix timestamp timezone_abbreviations_list Alias of DateTimeZone::listAbbreviations timezone_identifiers_list Alias of DateTimeZone::listIdentifiers timezone_location_get Alias of DateTimeZone::getLocation timezone_name_from_abbr Returns the timezone name from abbreviation timezone_name_get Alias of DateTimeZone::getName timezone_offset_get Alias of DateTimeZone::getOffset timezone_open Alias of DateTimeZone::__construct timezone_transitions_get Alias of DateTimeZone::getTransitions timezone_version_get Gets the version of the timezonedb
add a note

User Contributed Notes 24 notes


up down 1 brighn (a) yahoo (.) com 11 years ago
In e e d e daf u n c t i o nt h a td e t e r m i n e dt h el a s tS u n d a yo ft h em o n t h .S i n c ei t ' sm a d e f o rt h ew e b s i t e ' s" n e x tm e e t i n g "a n n o u n c e m e n t ,i tg o e sb a s e do nt h es y s t e mc l o c k ; a l s o ,i ft o d a yi sb e t w e e nS u n d a ya n dt h ee n do ft h em o n t h ,i tf i g u r e so u tt h el a s t S u n d a yo f* n e x t *m o n t h .l a s t s u n d a y ( )t a k e sn oa r g u m e n t sa n dr e t u r n st h ed a t ea sa s t r i n gi nt h ef o r m" J a n u a r y2 6 ,2 0 0 3 " .Ic o u l dp r o b a b l yh a v es t r e a m l i n e dt h i sq u i t e ab i t ,b u ta tl e a s ti t ' st r a n s p a r e n tc o d e .= ) < ? p h p / *T h et w of u n c t i o n sc a l c u l a t ew h e nt h en e x tm e e t i n gw i l l b e ,b a s e do nt h ea s s u m p t i o nt h a tt h em e e t i n gw i l lb eo n t h el a s tS u n d a yo ft h em o n t h .* / f u n c t i o ng e t l a s t ( $ m o n ,$ y e a r ){ $ d a y s i n m o n t h=a r r a y ( 3 1 ,2 8 ,3 1 ,3 0 ,3 1 ,3 0 ,3 1 ,3 1 ,3 0 ,3 1 ,3 0 ,3 1 ) ; $ d a y s=$ d a y s i n m o n t h [ $ m o n 1 ] ; i f( $ m o n= =2& &( $ y e a r%4 )= =0& &( ( $ y e a r%1 0 0 )! =0| | ( $ y e a r%4 0 0 )= =0 ) )$ d a y s + + ; i f( $ m o n= =2& &( $ y e a r%4 )= =0& &( $ y e a r%1 0 0 0 )! =0 )$ d a y s + + ; $ l a s t d a y=g e t d a t e ( m k t i m e ( 0 , 0 , 0 , $ m o n , $ d a y s , $ y e a r ) ) ; $ w d a y=$ l a s t d a y [ ' w d a y ' ] ; r e t u r ng e t d a t e ( m k t i m e ( 0 , 0 , 0 , $ m o n , $ d a y s $ w d a y , $ y e a r ) ) ; } f u n c t i o nl a s t s u n d a y ( ){ $ t o d a y=g e t d a t e ( ) ; $ m o n=$ t o d a y [ ' m o n ' ] ;
www.php.net/manual/en/ref.datetime.php 5/27

2/17/14

PHP: Date/Time Functions - Manual

$ y e a r=$ t o d a y [ ' y e a r ' ] ; $ m d a y=$ t o d a y [ ' m d a y ' ] ; $ l a s t s u n=g e t l a s t ( $ m o n ,$ y e a r ) ; $ s u n d a y=$ l a s t s u n [ ' m d a y ' ] ; i f( $ s u n d a y<$ m d a y ){ $ m o n + + ; i f( $ m o n=1 3 ){ $ m o n=1 ; $ y e a r + + ; } $ l a s t s u n=g e t l a s t ( $ m o n ,$ y e a r ) ; $ s u n d a y=$ l a s t s u n [ ' m d a y ' ] ; } $ n e x t m e e t i n g=g e t d a t e ( m k t i m e ( 0 , 0 , 0 , $ m o n , $ s u n d a y , $ y e a r ) ) ; $ m o n t h=$ n e x t m e e t i n g [ ' m o n t h ' ] ; $ m d a y=$ n e x t m e e t i n g [ ' m d a y ' ] ; $ y e a r=$ n e x t m e e t i n g [ ' y e a r ' ] ; r e t u r n" $ m o n t h$ m d a y ,$ y e a r " ; } ? >

up down 1 koch.ro 6 years ago


N o tr e a l l ye l e g a n t ,b u tt e l l sy o u ,i fy o u ri n s t a l l e dt i m e z o n e d bi st h em o s tr e c e n t : < ? p h p c l a s sT e s t D a t e T i m e T i m e z o n e d b V e r s i o ne x t e n d sP H P U n i t _ F r a m e w o r k _ T e s t C a s e { p u b l i cf u n c t i o nt e s t T i m e z o n e d b I s M o s t R e c e n t ( ) { i n i _ s e t (' d a t e . t i m e z o n e ' ,' E u r o p e / B e r l i n ') ; o b _ s t a r t ( ) ; p h p i n f o ( I N F O _ M O D U L E S ) ; $ i n f o=o b _ g e t _ c o n t e n t s ( ) ; o b _ e n d _ c l e a n ( ) ; $ s t a r t=s t r p o s ($ i n f o ,' T i m e z o n eD a t a b a s eV e r s i o n ')+2 9 ; $ t h i s > a s s e r t T r u e (F A L S E! = =$ s t a r t ,' S e e m st h e r ei sn ot i m e z o n eD B i n s t a l l e d ') ; $ e n d =s t r p o s ($ i n f o ," \ n " ,$ s t a r t) ;
6/27

www.php.net/manual/en/ref.datetime.php

2/17/14

PHP: Date/Time Functions - Manual

$ i n s t a l l e d V e r s i o n=s u b s t r ($ i n f o ,$ s t a r t ,$ e n d-$ s t a r t) ; e x e c (' p e c lr e m o t e i n f ot i m e z o n e d b ' ,& $ o u t p u t) ; $ a v a i l a b l e V e r s i o n=s u b s t r ($ o u t p u t [ 2 ] ,1 2) ; $ t h i s > a s s e r t E q u a l s ($ a v a i l a b l e V e r s i o n ,$ i n s t a l l e d V e r s i o n , ' T h ei n s t a l l e dt i m e z o n e d bi sn o ta c t u a l .I n s t a l l e d :' . $ i n s t a l l e d V e r s i o n . 'a v a i l a b l e :' . $ a v a i l a b l e V e r s i o n ) ; } } ? >

up down 0 Hans 2 years ago


In e e d e daw a yt od i s p l a ya na n n o u n c e m e n to nas h o p p i n gs i t e ,t h a tw o u l dw a r nu s e r s t h a to r d e r sp l a c e db e t w e e nac e r t a i nd a t er a n g e ,w o u l dn o tb es h i p p e du n t i la f t e ra c e r t a i nd a t e . Ic r e a t e dt h i ss i m p l ed a t ed e t e c t i o nc o d et od i s p l a yt h en o t i c eo nc e r t a i np a g e s . Y o uc a nj u s tc o p yt h ec o d ea n ds a v ei tt oaf i l eo nt h es i t ea n di n c l u d ei ta n y w h e r e y o un e e dt op e r f o r maf u n c t i o n ,o rd i s p l a yan o t i c e . < ? p h p / * C o d et os h o wam e s s a g eo n l yf o rac e r t a i nt i m ef r a m e . T h i si sas i m p l ei n c l u d ef i l et h a tc a nb eu s e dt od i s p l a yam e s s a g e o na n yp a g e st h a tu s ei t . S i m p l yu sas t a n d a r di n c l u d ei n s t r u c t i o nt ot h i sf i l eo nt h ep a g e / sw h e r e y o uw a n tt h en o t i c et oa p p e a r . W r i t t e nb yH a n sK i e s o u w-h a n sa tw o t w o r xd o tc o m * / $ s t a r t=n e wD a t e T i m e ( ' 3 0 0 7 2 0 1 1 ' ) ;/ /D D M M Y Y Y Y $ e n d D a t e =n e wD a t e T i m e ( ' 0 7 0 8 2 0 1 1 ' ) ;/ /D D M M Y Y Y Y $ c u r d a t e=n e wD a t e T i m e ( d a t e ( ' d m Y ' ) ) ; i f( $ s t a r t< =$ c u r d a t e& &$ c u r d a t e< =$ e n d D a t e ){ / * T h em e s s a g eb e l o ww i l la p p e a ri ft h ec u r r e n td a t ei sb e t w e e nt h es t a r ta n d e n d D a t e-u s e ds t a n d a r d sH T M Lt oe n s u r et h a ta n yc o d ew i l ln o tb e e s c a p e db yP H P .Y o uc a nu s ea n yc o d eh e r et ow i s ht oe x e c u t ef o rt h e d a t er a n g e .
www.php.net/manual/en/ref.datetime.php 7/27

2/17/14

PHP: Date/Time Functions - Manual

* / ? > < p > < s t r o n g > < f o n tc o l o r = " # F F 0 0 0 0 " > P l e a s eN o t e :A n yo r d e r sp l a c e db e t w e e nJ u l y 3 0 t ha n dA u g u s t7 t hw i l lo n l yb es h i p p e do nA u g u s t8 t h .W ea p o l o g i z ef o ra n y i n c o n v e n i e n c ea n dt h a n ky o uf o ry o u ro r d e r . < / f o n t > < / s t r o n g > < / p > < ? p h p / /d o n ' tf o r g e tt h i sl a s tb i t ,i te n d st h ei fs t a t e m e n t ! } ? >

up down 0 luck dot lil dot leprechaun at gmail dot com 4 years ago
T h i si sa ne a s i l ye x t e n d a b l ea n dp r e t t yw a yt oo u t p u th u m a n r e a d a b l ed a t e d i f f e r e n c e ss u c ha s" 1d a y2h o u r sa g o " ," 6m o n t h sa g o " ," 3y e a r s7m o n t h s1 4d a y s1 h o u r4m i n u t e s1 6s e c o n d s "e t ce t c . C h a n g e" $ l e v e l s=2 ; "t ow h a t e v e ry o uw a n t .Av a l u eo f1w i l ll i m i tt oo n l yo n e n u m b e ri nt h er e s u l t( " 3d a y sa g o " ) .Av a l u eo f3w o u l dr e s u l ti nu pt ot h r e e( " 3 d a y s1h o u r2m i n u t e sa g o " ) I tc a nb eu s e di nt h ef o l l o w i n gw a y s : e c h oc o m p a r e _ d a t e s ( $ s t a r t _ d a t e , $ e n d _ d a t e ) ; e c h oc o m p a r e _ d a t e s ( $ e n d _ d a t e , $ s t a r t _ d a t e ) ; e c h oc o m p a r e _ d a t e s ( $ s t a r t _ d a t e ) ;/ / e n dd a t ew i l lb ea s s u m e da st i m e ( ) ; < ? p h p f u n c t i o nc o m p a r e _ d a t e s ( $ d a t e 1 ,$ d a t e 2=t i m e ( ) ) { $ b l o c k s=a r r a y ( a r r a y ( ' n a m e ' = > ' y e a r ' , ' a m o u n t ' a r r a y ( ' n a m e ' = > ' m o n t h ' , ' a m o u n t ' a r r a y ( ' n a m e ' = > ' w e e k ' , ' a m o u n t ' a r r a y ( ' n a m e ' = > ' d a y ' , ' a m o u n t ' a r r a y ( ' n a m e ' = > ' h o u r ' , ' a m o u n t ' a r r a y ( ' n a m e ' = > ' m i n u t e ' , ' a m o u n t ' a r r a y ( ' n a m e ' = > ' s e c o n d ' , ' a m o u n t ' ) ; $ d i f f=a b s ( $ d a t e 1 $ d a t e 2 ) ; $ l e v e l s=2 ; $ c u r r e n t _ l e v e l=1 ;
www.php.net/manual/en/ref.datetime.php 8/27

= > = > = > = > = > = > = >

6 0 * 6 0 * 2 4 * 3 6 5 6 0 * 6 0 * 2 4 * 3 1 6 0 * 6 0 * 2 4 * 7 6 0 * 6 0 * 2 4 6 0 * 6 0 6 0 1 ) ) , ) , ) ,

) , ) , ) ,

2/17/14

PHP: Date/Time Functions - Manual

$ r e s u l t=a r r a y ( ) ; f o r e a c h ( $ b l o c k sa s$ b l o c k ) { i f( $ c u r r e n t _ l e v e l>$ l e v e l s ){ b r e a k ; } i f( $ d i f f / $ b l o c k [ ' a m o u n t ' ]> =1 ) { $ a m o u n t=f l o o r ( $ d i f f / $ b l o c k [ ' a m o u n t ' ] ) ; i f( $ a m o u n t > 1 ){ $ p l u r a l = ' s ' ; }e l s e{ $ p l u r a l = ' ' ; } $ r e s u l t [ ]=$ a m o u n t . '' . $ b l o c k [ ' n a m e ' ] . $ p l u r a l ; $ d i f f=$ a m o u n t * $ b l o c k [ ' a m o u n t ' ] ; $ c u r r e n t _ l e v e l + + ; } } r e t u r ni m p l o d e ( '' , $ r e s u l t ) . 'a g o ' ; } ? > [ E D I TB Yd a n b r o w nA Tp h pD O Tn e t :C o n t a i n sab u g f i xs u p p l i e db y( j o r g eA Td o n t s p a m D O Tc o m )o n2 2 O C T 2 0 0 9 . ]

up down 0 Robb_Bean at gmx dot nospam dot net 5 years ago


W i t hP H P5 . 1a n d5 . 2t h el a n g u a g e sd a t e t i m es u p p o r th a sc h a n g e d .A l t h o u g ht h e s e f u n c t i o n ss h o u l dg u e s sy o u rl o c a lt i m e z o n es e t t i n g s ,t h e ym a yf a i li fu s i n ga d e f a u l tc o n f i g u r a t i o ni na" p r e 5 . 1w a y " ,w h i c hm e a n ss e t t i n gn ot i m e z o n ef o rP H P . I nt h ec a s eP H Pc o u l dn o tg e tat i m e z o n ei te m i t saE _ S T R I C Tw a r n i n g .N o t et h a tt h i s a f f e c t s_ a l l _d a t e t i m ef u n c t i o n sa n dk e e pi ti nm i n dw h e np o r t i n gs o f t w a r ef r o m p r e v i o u sv e r s i o n st o5 . 1o rl a t e r !I tm a ya l s oc o n f u s ey o u re r r o rh a n d l i n g( t h i si s t h ew a yIn o t i c e dt h a tt h i n g sh a v ec h a n g e d ,s i n c et h e s ec h a n g e sa r en o td o c u m e n t a t e d _ h e r e _ ) . R e f e r e n c e s : h t t p : / / w w w . p h p . n e t / m a n u a l / d e / m i g r a t i o n 5 1 . d a t e t i m e . p h p h t t p : / / w w w . p h p . n e t / m a n u a l / d e / m i g r a t i o n 5 2 . d a t e t i m e . p h p

up down 0 venoel at rin dot ru 6 years ago


M a yb eu s e f u lf o rs o m e b o d y .T h i sf u n c t i o nt a k e so nd a y l i g h ts a v i n gt i m e < ? p h p
www.php.net/manual/en/ref.datetime.php 9/27

2/17/14

PHP: Date/Time Functions - Manual

F u n c t i o nD a t e D i f f ( $ d a t e 1 , $ d a t e 2 ){ $ t i m e d i f f e r e n c e = $ d a t e 2 $ d a t e 1 ; $ c o r r = d a t e ( " I " , $ d a t e 2 ) d a t e ( " I " , $ d a t e 1 ) ; $ t i m e d i f f e r e n c e + = $ c o r r ; r e t u r n$ t i m e d i f f e r e n c e ; } ? > E x a m p l e : < ? p h p $ d 1 = m k t i m e ( 2 , 0 , 0 , 1 0 , 2 8 , 2 0 0 7 ) ; $ d 2 = m k t i m e ( 4 , 0 , 0 , 1 0 , 2 8 , 2 0 0 7 ) ; $ p e r i o d = D a t e D i f f ( $ d 1 , $ d 2 ) ; p r i n t f ( " < b r > % s " , d a t e ( " Id . m . YH : i " , $ d 1 ) ) ; p r i n t f ( " < b r > % uh o u r " , $ p e r i o d / 3 6 0 0 ) ; p r i n t f ( " < b r > % s " , d a t e ( " Id . m . YH : i " , $ d 2 ) ) ; ? > G e t t i n g2h o u ri n s t e a d3 .

up down 0 aquatakat at telus dot net 6 years ago


Iw r o t eas i m p l es c r i p tt of o r m a tad u r a t i o ni ns e c o n d s .G i v et h ef u n c t i o ns o m e v a l u ei ns e c o n d sa n di tw i l lr e t u r na na r r a y . < ? p h p f u n c t i o nf o r m a t _ d u r a t i o n ( $ s e c o n d s ){ $ p e r i o d s=a r r a y ( ' c e n t u r i e s '= >3 1 5 5 6 9 2 6 0 0 , ' d e c a d e s '= >3 1 5 5 6 9 2 6 0 , ' y e a r s '= >3 1 5 5 6 9 2 6 , ' m o n t h s '= >2 6 2 9 7 4 3 , ' w e e k s '= >6 0 4 8 0 0 , ' d a y s '= >8 6 4 0 0 , ' h o u r s '= >3 6 0 0 , ' m i n u t e s '= >6 0 , ' s e c o n d s '= >1 ) ; $ d u r a t i o n s=a r r a y ( ) ;
www.php.net/manual/en/ref.datetime.php 10/27

2/17/14

PHP: Date/Time Functions - Manual

f o r e a c h( $ p e r i o d sa s$ p e r i o d= >$ s e c o n d s _ i n _ p e r i o d ){ i f( $ s e c o n d s> =$ s e c o n d s _ i n _ p e r i o d ){ $ d u r a t i o n s [ $ p e r i o d ]=f l o o r ( $ s e c o n d s/$ s e c o n d s _ i n _ p e r i o d ) ; $ s e c o n d s=$ d u r a t i o n s [ $ p e r i o d ]*$ s e c o n d s _ i n _ p e r i o d ; } } r e t u r n$ d u r a t i o n s ; } e c h of o r m a t _ d u r a t i o n ( 8 6 4 ) ; / * [ m i n u t e s ]= >1 4 [ s e c o n d s ]= >2 4 * / e c h of o r m a t _ d u r a t i o n ( 3 6 0 0 ) ; / * [ h o u r s ]= >1 * / e c h of o r m a t _ d u r a t i o n ( 1 1 1 1 1 1 1 1 ) ; / * [ m o n t h s ]= >4 [ d a y s ]= >6 [ h o u r s ]= >2 0 [ m i n u t e s ]= >2 8 [ s e c o n d s ]= >5 9 * / ? >

up down 0 Leopoldo A dot Oducado (poducado at comfsm dot fm) 7 years ago
H e r ei sm yf u n c t i o nt oc o u n tt h en u m b e rd a y s ,w e e k s ,m o n t h s ,a n dy e a r .It r i e di t b e l o w1 9 7 0a n di tw o r k s . < ? p h p
www.php.net/manual/en/ref.datetime.php 11/27

2/17/14

PHP: Date/Time Functions - Manual

f u n c t i o nd a t e c a l ( $ d a t e , $ r e t u r n _ v a l u e ) { $ d a t e=e x p l o d e ( " / " ,$ d a t e ) ; $ m o n t h _ b e g i n=$ d a t e [ 0 ] ; $ m o n t h _ b e g i n _ d a t e=$ d a t e [ 1 ] ; $ y e a r 1=$ d a t e [ 2 ] ; $ m o n t h _ e n d=d a t e ( " n " ) ; $ m o n t h _ e n d _ d a t e=d a t e ( " j " ) ; $ y e a r 2=d a t e ( " Y " ) ; $ d a y s _ o l d=0 ; $ y e a r s _ o l d=0 ; $ m o n t h s _ o l d=0 ; i f ( $ m o n t h _ b e g i n = = 1 2 ) { $ m o n t h=1 ; $ y e a r=$ y e a r 1 + 1 ; } e l s e { $ m o n t h=$ m o n t h _ b e g i n + 1 ; $ y e a r=$ y e a r 1 ; } $ b e g i n _ p l u s _ d a y s=c a l _ d a y s _ i n _ m o n t h ( C A L _ G R E G O R I A N ,$ m o n t h _ b e g i n ,$ y e a r 1 )$ m o n t h _ b e g i n _ d a t e ; $ e n d _ m i n u s _ d a y s=c a l _ d a y s _ i n _ m o n t h ( C A L _ G R E G O R I A N ,$ m o n t h _ e n d ,$ y e a r 2 )$ m o n t h _ e n d _ d a t e ; w h i l e( $ y e a r< =$ y e a r 2 ) { i f ( $ y e a r= =$ y e a r 2 ) { $ d a y s _ o l d=$ d a y s _ o l d+c a l _ d a y s _ i n _ m o n t h ( C A L _ G R E G O R I A N ,$ m o n t h ,$ y e a r ) ; i f ( $ m o n t h<$ m o n t h _ e n d ) { $ m o n t h s _ o l d=$ m o n t h s _ o l d+1 ; $ m o n t h=$ m o n t h+1 ; } e l s e i f( $ m o n t h = = $ m o n t h _ e n da n d$ m o n t h _ e n d _ d a t e> =$ m o n t h _ b e g i n _ d a t e ) { $ y e a r=$ y e a r 2 + 1 ; } e l s e { $ y e a r=$ y e a r 2 + 1 ; } }
www.php.net/manual/en/ref.datetime.php 12/27

2/17/14

PHP: Date/Time Functions - Manual

e l s e { $ d a y s _ o l d=$ d a y s _ o l d+c a l _ d a y s _ i n _ m o n t h ( C A L _ G R E G O R I A N ,$ m o n t h ,$ y e a r ) ; i f( $ m o n t h< =1 1 ) { $ m o n t h=$ m o n t h+1 ; $ m o n t h s _ o l d=$ m o n t h s _ o l d+1 ; } e l s e { $ m o n t h=1 ; $ y e a r=$ y e a r+1 ; $ m o n t h s _ o l d=$ m o n t h s _ o l d+1 ; } } } $ d a y s _ o l d=( $ d a y s _ o l d+$ b e g i n _ p l u s _ d a y s )-$ e n d _ m i n u s _ d a y s ; i f ( $ r e t u r n _ v a l u e= =" d " ) {r e t u r n$ d a y s _ o l d ;} e l s e i f( $ r e t u r n _ v a l u e= =" w " ) {r e t u r ni n t v a l ( $ d a y s _ o l d / 7 ) ;} e l s e i f( $ r e t u r n _ v a l u e= =" m " ) {r e t u r n$ m o n t h s _ o l d ;} e l s e i f( $ r e t u r n _ v a l u e= =" y " ) {r e t u r ni n t v a l ( $ m o n t h s _ o l d / 1 2 ) ;} } e c h od a t e c a l ( " 0 8 / 1 3 / 1 9 7 5 " , " m " ) ; ? >

up down 0 bgold at matrix-consultants dot com 7 years ago


W h e nd e b u g g i n gc o d et h a ts t o r e sd a t e / t i m ev a l u e si nad a t a b a s e ,y o um a yf i n d y o u r s e l fw a n t i n gt ok n o wt h ed a t e / t i m et h a tc o r r e s p o n d st oag i v e nu n i xt i m e s t a m p , o rt h et i m e s t a m pf o rag i v e nd a t e&t i m e . T h ef o l l o w i n gs c r i p tw i l ld ot h ec o n v e r s i o ne i t h e rw a y . I fy o ug i v ei tan u m e r i c t i m e s t a m p ,i tw i l ld i s p l a yt h ec o r r e s p o n d i n gd a t ea n dt i m e . I fy o ug i v ei tad a t e a n dt i m e( i na l m o s ta n ys t a n d a r df o r m a t ) ,i tw i l ld i s p l a yt h et i m e s t a m p . A l lc o n v e r s i o n sa r ed o n ef o ry o u rl o c a l e / t i m ez o n e . < ? p h p
www.php.net/manual/en/ref.datetime.php 13/27

2/17/14

PHP: Date/Time Functions - Manual

w h i l e( t r u e ) { / /R e a dal i n ef r o ms t a n d a r di n . e c h o" e n t e rt i m et oc o n v e r t :" ; $ i n l i n e=f g e t s ( S T D I N ) ; $ i n l i n e=t r i m ( $ i n l i n e ) ; i f( $ i n l i n e= =" "| |$ i n l i n e= =" . " ) b r e a k ; / /S e ei ft h el i n ei sad a t e . $ p o s=s t r p o s ( $ i n l i n e ," / " ) ; i f( $ p o s= = =f a l s e ){ / /n o tad a t e ,s h o u l db ea ni n t e g e r . $ d a t e=d a t e ( " m / d / YG : i : s " ,$ i n l i n e ) ; e c h o" i n t 2 d a t e :$ i n l i n e>$ d a t e \ n " ; }e l s e{ $ i t i m e=s t r t o t i m e ( $ i n l i n e ) ; e c h o" d a t e 2 i n t :$ i n l i n e>$ i t i m e \ n " ; } } ? >

up down 0 andreencinas at yahoo dot com dot br 8 years ago


< ? p h p / / f u n c t i o nl i k ed a t e D i f fM i c r o s o f t / / n o te r r o ri ny e a rB i s s e s t o f u n c t i o nd a t e D i f f ( $ i n t e r v a l , $ d a t e T i m e B e g i n , $ d a t e T i m e E n d ){ / / P a r s ea b o u ta n yE n g l i s ht e x t u a ld a t e t i m e / / $ d a t e T i m e B e g i n ,$ d a t e T i m e E n d $ d a t e T i m e B e g i n = s t r t o t i m e ( $ d a t e T i m e B e g i n ) ; i f ( $ d a t e T i m e B e g i n= = =1 ){ r e t u r n ( " . . b e g i nd a t eI n v a l i d " ) ; } $ d a t e T i m e E n d = s t r t o t i m e ( $ d a t e T i m e E n d ) ; i f ( $ d a t e T i m e E n d= = =1 ){ r e t u r n ( " . . e n dd a t eI n v a l i d " ) ; } $ d i f = $ d a t e T i m e E n d-$ d a t e T i m e B e g i n ;
www.php.net/manual/en/ref.datetime.php 14/27

2/17/14

PHP: Date/Time Functions - Manual

s w i t c h ( $ i n t e r v a l ){ c a s e" s " : / / s e c o n d s r e t u r n ( $ d i f ) ; c a s e" n " : / / m i n u t e s r e t u r n ( f l o o r ( $ d i f / 6 0 ) ) ;/ / 6 0 s = 1 m c a s e" h " : / / h o u r s r e t u r n ( f l o o r ( $ d i f / 3 6 0 0 ) ) ;/ / 3 6 0 0 s = 1 h c a s e" d " : / / d a y s r e t u r n ( f l o o r ( $ d i f / 8 6 4 0 0 ) ) ;/ / 8 6 4 0 0 s = 1 d c a s e" w w " : / / W e e k r e t u r n ( f l o o r ( $ d i f / 6 0 4 8 0 0 ) ) ;/ / 6 0 4 8 0 0 s = 1 w e e k = 1 s e m a n a c a s e" m " :/ / s i m i l a rr e s u l t" m "d a t e D i f fM i c r o s o f t $ m o n t h B e g i n = ( d a t e ( " Y " , $ d a t e T i m e B e g i n ) * 1 2 ) + d a t e ( " n " , $ d a t e T i m e B e g i n ) ; $ m o n t h E n d = ( d a t e ( " Y " , $ d a t e T i m e E n d ) * 1 2 ) + d a t e ( " n " , $ d a t e T i m e E n d ) ; $ m o n t h D i f f = $ m o n t h E n d $ m o n t h B e g i n ; r e t u r n ( $ m o n t h D i f f ) ; c a s e" y y y y " :/ / s i m i l a rr e s u l t" y y y y "d a t e D i f fM i c r o s o f t r e t u r n ( d a t e ( " Y " , $ d a t e T i m e E n d )-d a t e ( " Y " , $ d a t e T i m e B e g i n ) ) ; d e f a u l t : r e t u r n ( f l o o r ( $ d i f / 8 6 4 0 0 ) ) ;/ / 8 6 4 0 0 s = 1 d } } ? >

up down 0 glashio at xs4all dot nl 8 years ago


C a l c u l a t eS u mB u s i n e s s D a y s( M o nt i l lF r i )b e t w e e nt w od a t e ' s: < ? p h p f u n c t i o nb u s i n e s s d a y s ( $ b e g i n ,$ e n d ){ $ r b e g i n=i s _ s t r i n g ( $ b e g i n )?s t r t o t i m e ( s t r v a l ( $ b e g i n ) ):$ b e g i n ; $ r e n d=i s _ s t r i n g ( $ e n d )?s t r t o t i m e ( s t r v a l ( $ e n d ) ):$ e n d ;
www.php.net/manual/en/ref.datetime.php 15/27

2/17/14

PHP: Date/Time Functions - Manual

i f( $ r b e g i n<0| |$ r e n d<0 ) r e t u r n0 ; $ b e g i n=w o r k d a y ( $ r b e g i n ,T R U E ) ; $ e n d=w o r k d a y ( $ r e n d ,F A L S E ) ; i f( $ e n d<$ b e g i n ){ $ e n d=$ b e g i n ; $ b e g i n=$ e n d ; } $ d i f f t i m e=$ e n d-$ b e g i n ; $ d i f f d a y s=f l o o r ( $ d i f f t i m e/( 2 4*6 0*6 0 ) )+1 ; i f( $ d i f f d a y s<7 ){ $ a b e g i n=g e t d a t e ( $ r b e g i n ) ; $ a e n d=g e t d a t e ( $ r e n d ) ; i f( $ d i f f d a y s= =1& &( $ a s t a r t [ ' w d a y ' ]= =0| |$ a s t a r t [ ' w d a y ' ]= =6 )& & ( $ a e n d [ ' w d a y ' ]= =0| |$ a e n d [ ' w d a y ' ]= =6 ) ) r e t u r n0 ; $ a b e g i n=g e t d a t e ( $ b e g i n ) ; $ a e n d=g e t d a t e ( $ e n d ) ; $ w e e k e n d s=( $ a e n d [ ' w d a y ' ]<$ a b e g i n [ ' w d a y ' ] )?1:0 ; }e l s e $ w e e k e n d s=f l o o r ( $ d i f f d a y s/7 ) ; r e t u r n$ d i f f d a y s-( $ w e e k e n d s*2 ) ; } f u n c t i o nw o r k d a y ( $ d a t e ,$ b e g i n d a t e=T R U E ){ $ a d a t e=g e t d a t e ( $ d a t e ) ; $ d a y=2 4*6 0*6 0 ; i f( $ a d a t e [ ' w d a y ' ]= =0 )/ /S u n d a y $ d a t e+ =$ b e g i n d a t e?$ d a y:( $ d a y*2 ) ; e l s e i f( $ a d a t e [ ' w d a y ' ]= =6 )/ /S a t e r d a y $ d a t e+ =$ b e g i n d a t e?$ d a y*2:$ d a y ; r e t u r n$ d a t e ; } ? >

up down 0 daniel at globalnetstudios dot com 8 years ago


T h i sd a t e D i f f ( )f u n c t i o nc a nt a k ei nj u s ta b o u ta n yt i m e s t a m p ,i n c l u d i n gU N I X t i m e s t a m p sa n da n y t h i n gt h a ti sa c c e p t e db ys t r t o t i m e ( ) .I tr e t u r n sa na r r a yw i t h
www.php.net/manual/en/ref.datetime.php 16/27

2/17/14

PHP: Date/Time Functions - Manual

t h ea b i l i t yt os p l i tt h er e s u l tac o u p l ed i f f e r e n tw a y s .Ib u i l tt h i sf u n c t i o nt o s u f f i c ea n yd a t e d i f fn e e d sIh a d .H o p ei th e l p so t h e r st o o . < ? p h p / * * * * * * * * *d a t e D i f f ( )f u n c t i o n* * * * * * * * * * *r e t u r n sA r r a yo fI n tv a l u e sf o rd i f f e r e n c eb e t w e e nt w od a t e s *$ d a t e 1>$ d a t e 2>p o s i t i v ei n t e g e r sa r er e t u r n e d *$ d a t e 1<$ d a t e 2>n e g a t i v ei n t e g e r sa r er e t u r n e d * *$ s p l i tr e c o g n i z e st h ef o l l o w i n g : * * * * * *e x a m p l e s : * * * * * *a s s u m i n gd a t e D i f fr e t u r n e d8 5 3d a y s ,t h ea b o v e *e x a m p l e sw o u l dh a v eap r i n t _ ro u t p u to f : * * * * * *n o t e :[ h ]( h o u r s ) ,[ m ]( m i n u t e s ) ,[ s ]( s e c o n d s )a r ea l w a y sr e t u r n e da se l e m e n t s o ft h eA r r a y * / f u n c t i o nd a t e D i f f ( $ d t 1 ,$ d t 2 ,$ s p l i t = ' y w ' ){ $ d a t e 1=( s t r t o t i m e ( $ d t 1 )! =1 )?s t r t o t i m e ( $ d t 1 ):$ d t 1 ; $ d a t e 2=( s t r t o t i m e ( $ d t 2 )! =1 )?s t r t o t i m e ( $ d t 2 ):$ d t 2 ; $ d t D i f f=$ d a t e 1-$ d a t e 2 ; $ t o t a l D a y s=i n t v a l ( $ d t D i f f / ( 2 4 * 6 0 * 6 0 ) ) ; $ t o t a l S e c s=$ d t D i f f ( $ t o t a l D a y s * 2 4 * 6 0 * 6 0 ) ; $ d i f [ ' h ' ]=$ h=i n t v a l ( $ t o t a l S e c s / ( 6 0 * 6 0 ) ) ; $ d i f [ ' m ' ]=$ m=i n t v a l ( ( $ t o t a l S e c s ( $ h * 6 0 * 6 0 ) ) / 6 0 ) ; $ d i f [ ' s ' ]=$ t o t a l S e c s ( $ h * 6 0 * 6 0 ) ( $ m * 6 0 ) ; / /s e tu pa r r a ya sn e c e s s a r y s w i t c h ( $ s p l i t ){ c a s e' y w ' :#s p l i ty e a r s w e e k s d a y s $ d i f [ ' y ' ]=$ y=i n t v a l ( $ t o t a l D a y s / 3 6 5 ) ; $ d i f [ ' w ' ]=$ w=i n t v a l ( ( $ t o t a l D a y s ( $ y * 3 6 5 ) ) / 7 ) ;
www.php.net/manual/en/ref.datetime.php 17/27

' y w '=s p l i t su py e a r s ,w e e k sa n dd a y s( d e f a u l t ) ' y ' =s p l i t su py e a r sa n dd a y s ' w ' =s p l i t su pw e e k sa n dd a y s ' d ' =t o t a ld a y s

$ d i f 1=d a t e D i f f ( )o rd a t e D i f f ( ' y w ' ) $ d i f 2=d a t e D i f f ( ' y ' ) $ d i f 3=d a t e D i f f ( ' w ' ) $ d i f 4=d a t e D i f f ( ' d ' )

$ d i f 1= =A r r a y ([ y ]= >2[ w ]= >1 7[ d ]= >4) $ d i f 2= =A r r a y ([ y ]= >2[ d ]= >1 2 3) $ d i f 3= =A r r a y ([ w ]= >1 2 1[ d ]= >6) $ d i f 4= =A r r a y ([ d ]= >8 4 7)

2/17/14

PHP: Date/Time Functions - Manual

$ d i f [ ' d ' ]=$ t o t a l D a y s ( $ y * 3 6 5 ) ( $ w * 7 ) ; b r e a k ; c a s e' y ' :#s p l i ty e a r s d a y s $ d i f [ ' y ' ]=$ y=i n t v a l ( $ t o t a l D a y s / 3 6 5 ) ; $ d i f [ ' d ' ]=$ t o t a l D a y s ( $ y * 3 6 5 ) ; b r e a k ; c a s e' w ' :#s p l i tw e e k s d a y s $ d i f [ ' w ' ]=$ w=i n t v a l ( $ t o t a l D a y s / 7 ) ; $ d i f [ ' d ' ]=$ t o t a l D a y s ( $ w * 7 ) ; b r e a k ; c a s e' d ' :#d o n ' ts p l i t-t o t a ld a y s $ d i f [ ' d ' ]=$ t o t a l D a y s ; b r e a k ; d e f a u l t : d i e ( " E r r o ri nd a t e D i f f ( ) .U n r e c o g n i z e d\ $ s p l i tp a r a m e t e r .V a l i dv a l u e sa r e ' y w ' ,' y ' ,' w ' ,' d ' .D e f a u l ti s' y w ' . " ) ; } r e t u r n$ d i f ; } ? >

up down 0 mail at completeideas dot com 8 years ago


F o rt h o s ew h oa r eu s i n gp r eM Y S Q L4 . 1 . 1 ,y o uc a nu s e : T O _ D A Y S ( [ D a t eV a l u e1 ] ) T O _ D A Y S ( [ D a t eV a l u e2 ] ) F o rt h es a m er e s u l ta s : D A T E D I F F ( [ D a t eV a l u e1 ] , [ D a t eV a l u e2 ] )

up down 0 mincklerstraat at softhome dot net 9 years ago


B e f o r ey o ug e tt o oa d v a n c e du s i n gd a t ef u n c t i o n s ,b es u r ea l s ot os e et h ec a l e n d a r f u n c t i o n sa th t t p : / / w w w . p h p . n e t / m a n u a l / e n / r e f . c a l e n d a r . p h p.

up down 0 nickaubert at america's biggest isp dot com 9 years ago


Ir a ni n t oa ni s s u eu s i n gaf u n c t i o nt h a tl o o p st h r o u g ha na r r a yo fd a t e sw h e r et h e
www.php.net/manual/en/ref.datetime.php 18/27

2/17/14

PHP: Date/Time Functions - Manual

k e y st ot h ea r r a ya r et h eU n i xt i m e s t a m pf o rm i d n i g h tf o re a c hd a t e . T h el o o p s t a r t sa tt h ef i r s tt i m e s t a m p ,t h e ni n c r e m e n t e db ya d d i n g8 6 4 0 0s e c o n d s( i e .6 0x6 0 x2 4 ) . H o w e v e r ,D a y l i g h tS a v i n gT i m et h r e wo f ft h ea c c u r a c yo ft h i sl o o p ,s i n c e c e r t a i nd a y sh a v ead u r a t i o no t h e rt h a n8 6 4 0 0s e c o n d s . Iw o r k e da r o u n di tb ya d d i n g ac o u p l eo fl i n e st of o r c et h et i m e s t a m pt om i d n i g h ta te a c hi n t e r v a l . < ? p h p $ O N E _ D A Y=9 0 0 0 0 ; l e s s f o r($ e a c h _ t i m e s t a m p=$ s t a r t _ t i m e;$ e a c h _ t i m e s t a m p< =$ e n d _ t i m e; $ e a c h _ t i m e s t a m p+ = $ O N E _ D A Y ){ / * f o r c em i d n i g h tt oc o m p e n s a t ef o rd a y l i g h ts a v i n gt i m e * / $ t h i s _ t i m e s t a m p _ a r r a y=g e t d a t e ($ e a c h _ t i m e s t a m p) ; $ e a c h _ t i m e s t a m p=m k t i m e(0,0,0,$ t h i s _ t i m e s t a m p _ a r r a y [ m o n ], $ t h i s _ t i m e s t a m p _ a r r a y [ m d a y ],$ t h i s _ t i m e s t a m p _ a r r a y [ y e a r ]) ; / /d os o m es t u f f . . . } ? > / /c a n ' tu s e8 6 4 0 0b e c a u s es o m ed a y sh a v eo n eh o u rm o r eo r

up down 0 php at sarge dot ch 10 years ago


A d d i t i o n a lt h i s o n eh e r e( d i d n ' tt e s ti ty e tb u ts h o u l dw o r k: D ) : < ? p h p / * * *C a l c u l a t e st h eD i f f e r e n c eb e t w e e nt w ot i m e s t a m p s * *@ p a r a mi n t e g e r$ s t a r t _ t i m e s t a m p *@ p a r a mi n t e g e r$ e n d _ t i m e s t a m p *@ p a r a mi n t e g e r$ u n i t( d e f a u l t0 ) *@ r e t u r ns t r i n g *@ a c c e s sp u b l i c * / f u n c t i o nd a t e D i f f e r e n c e ( $ s t a r t _ t i m e s t a m p , $ e n d _ t i m e s t a m p , $ u n i t =0 ) { $ d a y s _ s e c o n d s _ s t a r =( 2 3*5 6*6 0 )+4 . 0 9 1 ;/ /S t a rD a y $ d a y s _ s e c o n d s _ s u n =2 4*6 0*6 0 ;/ /S u nD a y $ d i f f e r e n c e _ s e c o n d s =$ e n d _ t i m e s t a m p-$ s t a r t _ t i m e s t a m p ; s w i t c h ( $ u n i t ) { c a s e3 :/ /D a y s $ d i f f e r e n c e _ d a y s =r o u n d ( ( $ d i f f e r e n c e _ s e c o n d s/$ d a y s _ s e c o n d s _ s u n ) , 2 ) ; r e t u r n' a p p r o x .' . $ d i f f e r e n c e _ h o u r s . 'D a y s ' ;
www.php.net/manual/en/ref.datetime.php 19/27

2/17/14

PHP: Date/Time Functions - Manual

c a s e2 :/ /H o u r s $ d i f f e r e n c e _ h o u r s =r o u n d ( ( $ d i f f e r e n c e _ s e c o n d s/3 6 0 0 ) , 2 ) ; r e t u r n' a p p r o x .' . $ d i f f e r e n c e _ h o u r s . 'H o u r s ' ; b r e a k ; c a s e1 :/ /M i n u t e s $ d i f f e r e n c e _ m i n u t e s =r o u n d ( ( $ d i f f e r e n c e _ s e c o n d s/6 0 ) , 2 ) ; r e t u r n' a p p r o x .' . $ d i f f e r e n c e _ m i n u t e s . 'M i n u t e s ' ; b r e a k ; d e f a u l t :/ /S e c o n d s i f ( $ d i f f e r e n c e _ s e c o n d s>1 ) { r e t u r n$ d i f f e r e n c e _ s e c o n d s . 'S e c o n d s ' ; } e l s e { r e t u r n$ d i f f e r e n c e _ s e c o n d s . 'S e c o n d ' ; } } } ? >

up down 0 php at elmegil dot net 10 years ago


Am u c he a s i e rw a yt od od a y sd i f fi st ou s eJ u l i a nD a y sf r o mt h eC a l e n d a rf u n c t i o n s : $ s t a r t=g r e g o r i a n t o j d ( $ s m o n ,$ s d a y ,$ s y e a r ) ; $ e n d=g r e g o r i a n t o j d ( $ e m o n ,$ e d a y ,$ e y e a r ) ; $ d a y s d i f f=$ e n d-$ s t a r t ; Y o uc a ns e et h eo b v i o u sw a y st ow r a paf u n c t i o na r o u n dt h a t .

up down 0 garyc at earthling dot net 10 years ago


In e e d e dt oc a l c u l a t et h ew e e kn u m b e rf r o mag i v e nd a t ea n dv i c ev e r s a ,w h e r et h e w e e ks t a r t sw i t haM o n d a ya n dt h ef i r s tw e e ko fay e a rm a yb e g i nt h ey e a rb e f o r e ,i f t h ey e a rb e g i n si nt h em i d d l eo ft h ew e e k( T u e S u n ) .T h i si st h ew a yw e e k l y m a g a z i n e sc a l c u l a t et h e i ri s s u en u m b e r s . H e r ea r et w of u n c t i o n st h a td oe x a c t l yt h a t : H o p es o m e b o d yf i n d st h i su s e f u l . G a r y
www.php.net/manual/en/ref.datetime.php 20/27

2/17/14

PHP: Date/Time Functions - Manual

< ? p h p / * weeknumber -/ / w e e k n u m b e rr e t u r n saw e e kn u m b e rf r o mag i v e nd a t e( > 1 9 7 0 ,< 2 0 3 0 ) W e d ,2 0 0 3 0 1 0 1i si nw e e k1 M o n ,2 0 0 3 0 1 0 6i si nw e e k2 W e d ,2 0 0 3 1 2 3 1i si nw e e k5 3 ,n e x ty e a r sf i r s tw e e k B ec a r e f u l ,t h e r ea r ey e a r sw i t h5 3w e e k s . / /-* / f u n c t i o nw e e k n u m b e r( $ y ,$ m ,$ d ){ $ w n=s t r f t i m e ( " % W " , m k t i m e ( 0 , 0 , 0 , $ m , $ d , $ y ) ) ; $ w n+ =0 ;#w nm i g h tb eas t r i n gv a l u e $ f i r s t d a y o f y e a r=g e t d a t e ( m k t i m e ( 0 , 0 , 0 , 1 , 1 , $ y ) ) ; i f( $ f i r s t d a y o f y e a r [ " w d a y " ]! =1 ) $ w n+ =1 ; r e t u r n( $ w n ) ; } #f u n c t i o nw e e k n u m b e r #i f1 / 1i sn o taM o n d a y ,a d d1

/ * datefromweek -/ / F r o maw e e k n u m b e r ,c a l c u l a t e st h ec o r r e s p o n d i n gd a t e I n p u t :Y e a r ,w e e k n u m b e ra n dd a yo f f s e t O u t p u t :E x a c td a t ei na na s s o c i a t i v e( n a m e d )a r r a y 2 0 0 3 ,1 2 ,0 :2 0 0 3 0 3 1 7( aM o n d a y ) 1 9 9 5 , 5 3 ,2 :1 9 9 5 1 2 x x . . . / /-* / f u n c t i o nd a t e f r o m w e e k( $ y ,$ w ,$ o ){ $ d a y s=( $ w-1 )*7+$ o ; $ f i r s t d a y o f y e a r=g e t d a t e ( m k t i m e ( 0 , 0 , 0 , 1 , 1 , $ y ) ) ; i f( $ f i r s t d a y o f y e a r [ " w d a y " ]= =0 )$ f i r s t d a y o f y e a r [ " w d a y " ]+ =7 ; #i ng e t d a t e ,S u n d a yi s0i n s t e a do f7 $ f i r s t m o n d a y=g e t d a t e ( m k t i m e ( 0 , 0 , 0 , 1 , 1 $ f i r s t d a y o f y e a r [ " w d a y " ] + 1 , $ y ) ) ; $ c a l c d a t e=g e t d a t e ( m k t i m e ( 0 , 0 , 0 , $ f i r s t m o n d a y [ " m o n " ] , $ f i r s t m o n d a y [ " m d a y " ] + $ d a y s , $ f i r s t m o n d a y [ " y e a r " ] ) ) ; $ d a t e [ " y e a r " ]=$ c a l c d a t e [ " y e a r " ] ; $ d a t e [ " m o n t h " ]=$ c a l c d a t e [ " m o n " ] ; $ d a t e [ " d a y " ]=$ c a l c d a t e [ " m d a y " ] ; r e t u r n( $ d a t e ) ;

www.php.net/manual/en/ref.datetime.php

21/27

2/17/14

PHP: Date/Time Functions - Manual

} ? >

#f u n c t i o nd a t e f r o m w e e k

up down 0 nightowl at NOS-PA-M dot uk2 dot net 11 years ago


Iw a n t e dt of i n da l lr e c o r d si nm yd a t a b a s ew h i c hm a t c ht h ec u r r e n tw e e k( f o ra c a l l b a c kf u n c t i o n ) .Im a d eu pt h i sf u n c t i o nt of i n dt h es t a r ta n de n do ft h e c u r r e n tw e e k: < ? p h p f u n c t i o nw e e k ( $ c u r t i m e ){ $ d a t e _ a r r a y=g e t d a t e( t i m e ( ) ) ; $ n u m d a y s=$ d a t e _ a r r a y [ " w d a y " ] ; $ s t a r t d a t e=d a t e ( " Y m d " ,t i m e ( )-( $ n u m d a y s*2 4 * 6 0 * 6 0 ) ) ; $ e n d d a t e=d a t e ( " Y m d " ,t i m e ( )+( ( 7-$ n u m d a y s )*2 4 * 6 0 * 6 0 ) ) ; $ w e e k [ ' s t a r t ' ]=$ s t a r t d a t e ; $ w e e k [ ' e n d ' ]=$ e n d d a t e ; r e t u r n$ w e e k ; } ? >

up down 0 php-contrib at i-ps dot nospam dot net 12 years ago


S o m e o n em a yf i n dt h i si n f oo fs o m eu s e : R u l e sf o rc a l c u l a t i n gal e a py e a r : 1 )I ft h ey e a rd i v i d e sb y4 ,i ti sal e a py e a r( 1 9 8 8 ,1 9 9 2 ,1 9 9 6a r el e a py e a r s ) 2 )U n l e s si td i v i d e sb y1 0 0 ,i nw h i c hc a s ei ti s n ' t( 1 9 0 0d i v i d e sb y4 ,b u tw a sn o t al e a py e a r ) 3 )U n l e s si td i v i d e sb y4 0 0 ,i nw h i c hc a s ei ti sa c t u a l l yal e a py e a ra f t e r a l l( S o 2 0 0 0w a sal e a py e a r ) . I np r a c t i c a lt e r m s ,t ow o r ko u tt h en u m b e ro fd a y si nXy e a r s ,m u l t i p l yXb y 3 6 5 . 2 4 2 5 ,r o u n d i n gD O W Nt ot h el a s tw h o l en u m b e r ,s h o u l dg i v ey o ut h en u m b e ro f d a y s .
www.php.net/manual/en/ref.datetime.php 22/27

2/17/14

PHP: Date/Time Functions - Manual

T h er e s u l tw i l ln e v e rb em o r et h a no n ew h o l ed a yi n a c c u r a t e ,a so p p o s e dt o m u l t i p l y i n gb y3 6 5 ,w h i c h ,o v e rm o r ey e a r s ,w i l lc r e a t eal a r g e ra n dl a r g e rd e f i c i t .

up down 0 th at definitynet dot com 13 years ago


Ih a ds o m ep r o b l e m sw i t hd a t e sb e t w e e nm y S Q La n dP H P . P H Ph a da l lt h e s eg r e a td a t e f u n c t i o n sb u tIw a n t e dt os t o r eau s a b l ev a l u ei nm yd a t a b a s et a b l e s .I nt h i sc a s eI w a su s i n gT I M E S T A M P ( 1 4 ) < o r' Y Y Y Y M M D D H H M M S S ' > . T h i si sp e r h a p st h ee a s i e s tw a yIh a v ef o u n dt op u l lt h eP H Pu s a b l eU N I XD a t e s t a m p f r o mm ym y S Q Ld a t e s t a m ps t o r e di nt h et a b l e s : U s et h em y S Q LU N I X _ T I M E S T A M P ( )f u n c t i o ni ny o u rS Q Ld e f i n i t i o ns t r i n g .i . e . $ s q l =" S E L E C Tf i e l d 1 ,f i e l d 2 ,U N I X _ T I M E S T A M P ( f i e l d 3 )a sy o u r _ d a t e F R O My o u r _ t a b l e W H E R Ef i e l d 1=' $ v a l u e ' " ; T h eq u e r yw i l lr e t u r nat e m pt a b l ew i t hc o u l m s" f i e l d 1 "" F i e l d 2 "" y o u r _ d a t e " T h e" y o u r _ d a t e "w i l lb ef o r m a t t e di naU N I XT I M E S T A M P ! N o wy o uc a nu s et h eP H P d a t e ( )f u n c t i o nt os p e wo u tn i c ed a t ef o r m a t s . S a m p l eu s i n ga b o v e$ s q l : 2 0 0 1 0 1 1 1 0 0 2 7 4 7 =D a t eS t o r e do nm y S Q Lt a b l e( T I M E S T A M P ( 1 4 ) ) 9 7 9 1 7 2 8 6 7 =v a l u er e t u r n e da sy o u r _ d a t ei ns q ls t m t( U N I X _ T I M E S T A M P ) i fw eu s e$ n e w d a t e=d a t e ( " Fj S ,Y-g : i a " ,$ r o w [ " y o u r _ d a t e " ] ) ; ( a f t e rf e t c h i n go u ra r r a yf r o mt h es q lr e s u l t so fc o u r s e ) e c h o" $ n e w d a t e " ; J a n u a r y1 1 t h ,2 0 0 1-1 2 : 2 7 a m H o p et h i sh e l p ss o m e o n eo u tt h e r e ! W i l lp r o d u c e :

up down -1 sagar 5 years ago


< ? p h p # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #P r o v i d ew e e kn u m b e ra n dg e ts t a r t _ t i m e s t a m pa n de n d _ t i m e s t a m p # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
www.php.net/manual/en/ref.datetime.php 23/27

2/17/14

PHP: Date/Time Functions - Manual

/ /t h i sw e e kn u m b e rw i l lc o m ef r o mt h et i m e s h a r ef o r m $ w e e k=5 1 ; $ t i m e s=g e t _ s t a r t _ a n d _ e n d _ d a t e _ f r o m _ w e e k ( $ w e e k ) ; $ s t a r t _ t i m e=$ t i m e s [ ' s t a r t _ t i m e s t a m p ' ] ; $ e n d _ t i m e=$ t i m e s [ ' e n d _ t i m e s t a m p ' ] ; f u n c t i o ng e t _ s t a r t _ a n d _ e n d _ d a t e _ f r o m _ w e e k( $ w ) { $ y=d a t e ( " Y " ,t i m e ( ) ) ; $ o=6 ;/ /w e e ks t a r t sf r o ms u n d a yb yd e f a u l t $ d a y s=( $ w-1 )*7+$ o ; $ f i r s t d a y o f y e a r=g e t d a t e ( m k t i m e ( 0 , 0 , 0 , 1 , 1 , $ y ) ) ; i f( $ f i r s t d a y o f y e a r [ " w d a y " ]= =0 )$ f i r s t d a y o f y e a r [ " w d a y " ]+ =7 ; #i ng e t d a t e ,S u n d a yi s0i n s t e a do f7 $ f i r s t m o n d a y=g e t d a t e ( m k t i m e ( 0 , 0 , 0 , 1 , 1 $ f i r s t d a y o f y e a r [ " w d a y " ] + 1 , $ y ) ) ; $ c a l c d a t e=g e t d a t e ( m k t i m e ( 0 , 0 , 0 , $ f i r s t m o n d a y [ " m o n " ] , $ f i r s t m o n d a y [ " m d a y " ] + $ d a y s , $ f i r s t m o n d a y [ " y e a r " ] ) ) ; $ s d a y=$ c a l c d a t e [ " m d a y " ] ; $ s m o n t h=$ c a l c d a t e [ " m o n " ] ; $ s y e a r=$ c a l c d a t e [ " y e a r " ] ;

$ t i m e s t a m p [ ' s t a r t _ t i m e s t a m p ' ]= m k t i m e ( 0 ,0 ,0 ,$ s m o n t h ,$ s d a y ,$ s y e a r ) ; $ t i m e s t a m p [ ' e n d _ t i m e s t a m p ' ]= $ t i m e s t a m p [ ' s t a r t _ t i m e s t a m p ' ]+( 6 0 * 6 0 * 2 4 * 7 ) ; r e t u r n$ t i m e s t a m p ; } ? > #f u n c t i o nd a t e f r o m w e e k

up down -1 Darren Edwards 6 years ago


Iw a sl o o k i n gf o ras o l u t i o nw h e r eIc o u l dr e t u r nt h en u m b e ro fd a y s ,h o u r s ,M i n u t e s a n ds e c o n d sb e t w e e nt w oe n t r i e si nat a b l e . D A T E _ D I F Fi sn o tr u n n i n go nm ym y s q ls e r v e ra sm yp r o v i d e ru s e sm y s q lv e r s i o n4 . 0 . 2 5 S o l u t i o nw a st ou s et od a y sa n ds t dt i m ef u n c t i o n st oc a l c u l a t et h ed i f f e r e n c ei n o n ec a l l . T h ef i e l d ss t o r e di nt h et a b l e ( r e p o r t _ t a b l e )a r e
www.php.net/manual/en/ref.datetime.php 24/27

2/17/14

PHP: Date/Time Functions - Manual

t i m e ( 0 0 : 0 0 : 0 0 ) , d a t e ( 0 0 0 0 0 0 0 0 )a n dr e c o r d ( e n u m )w h i c ht e l l st h ea p pt h et y p eo fl o gs t o r e d .E G s t a r to re n do far e p o r t . S E L E C T ( T O _ D A Y S (` e n d ` . ` d a t e `)-T O _ D A Y S (` s t a r t ` . ` d a t e `) ) (s e c o n d (` e n d ` . ` t i m e `)+( m i n u t e (` e n d ` . ` t i m e `) * 6 0 )+( h o u r (` e n d ` . ` t i m e `) * 3 6 0 0 ) < s e c o n d (` s t a r t ` . ` t i m e `)+( m i n u t e (` s t a r t ` . ` t i m e `) * 6 0 )+( h o u r (` s t a r t ` . ` t i m e ` ) * 3 6 0 0 ) ) A S` d a y s `, S E C _ T O _ T I M E ( ( s e c o n d (` e n d ` . ` t i m e `)+( m i n u t e (` e n d ` . ` t i m e `) * 6 0 )+( h o u r (` e n d ` . ` t i m e `) * 3 6 0 0 ) ) ( s e c o n d (` s t a r t ` . ` t i m e `)+( m i n u t e (` s t a r t ` . ` t i m e `) * 6 0 )+( h o u r (` s t a r t ` . ` t i m e ` ) * 3 6 0 0 )) )A S` h m s ` , ` s t a r t ` . ` t i m e `a s` s t a r t ` , ` e n d ` . ` t i m e ` a s` e n d ` F R O M` r e p o r t _ t a b l e `A S` s t a r t `,` r e p o r t _ t a b l e `A S` e n d ` A N D` s t a r t ` . ` r e c o r d `=' R e p o r tB e g i n ' A N D` e n d ` . ` r e c o r d `=' R e p o r tE n d ' L I M I T1 I ft h e r ei sn oe n do fr e p o r tt h e ni tw i l ln o tr e t u r nar e s u l t ,a sy o uw o u l de x p e c t .

up down -2 stoicnluv at gmail dot com 6 years ago


Ab e t t e ra n da c c u r a t ef u n c t i o nt oc a l c u l a t et h ed i f f e r e n c eb e t w e e n2d a t e s .T a k e s l e a py e a r sa n dD S Ti n t oc o n s i d e r a t i o n .A c c e p t ss t r i n gd a t eo rt i m e s t a m pa s a r g u m e n t s . < ? p h p f u n c t i o nd a t e _ d i f f ( $ d 1 ,$ d 2 ) { $ d 1=( i s _ s t r i n g ( $ d 1 )?s t r t o t i m e ( $ d 1 ):$ d 1 ) ; $ d 2=( i s _ s t r i n g ( $ d 2 )?s t r t o t i m e ( $ d 2 ):$ d 2 ) ; $ d i f f _ s e c s=a b s ( $ d 1-$ d 2 ) ; $ b a s e _ y e a r=m i n ( d a t e ( " Y " ,$ d 1 ) ,d a t e ( " Y " ,$ d 2 ) ) ;

www.php.net/manual/en/ref.datetime.php

25/27

2/17/14

PHP: Date/Time Functions - Manual

$ d i f f=m k t i m e ( 0 ,0 ,$ d i f f _ s e c s ,1 ,1 ,$ b a s e _ y e a r ) ; r e t u r na r r a y ( " y e a r s "= >d a t e ( " Y " ,$ d i f f )-$ b a s e _ y e a r , " m o n t h s _ t o t a l "= >( d a t e ( " Y " ,$ d i f f )-$ b a s e _ y e a r )*1 2+d a t e ( " n " ,$ d i f f )1 , " m o n t h s "= >d a t e ( " n " ,$ d i f f )-1 , " d a y s _ t o t a l "= >f l o o r ( $ d i f f _ s e c s/( 3 6 0 0*2 4 ) ) , " d a y s "= >d a t e ( " j " ,$ d i f f )-1 , " h o u r s _ t o t a l "= >f l o o r ( $ d i f f _ s e c s/3 6 0 0 ) , " h o u r s "= >d a t e ( " G " ,$ d i f f ) , " m i n u t e s _ t o t a l "= >f l o o r ( $ d i f f _ s e c s/6 0 ) , " m i n u t e s "= >( i n t )d a t e ( " i " ,$ d i f f ) , " s e c o n d s _ t o t a l "= >$ d i f f _ s e c s , " s e c o n d s "= >( i n t )d a t e ( " s " ,$ d i f f ) ) ; } $ a=d a t e _ d i f f ( " 2 0 0 6 1 1 0 1 " ," 2 0 0 7 1 1 0 1 " ) ; e c h o" < p r e > " ; p r i n t _ r ( $ a ) ; e c h o" < / p r e > " ; ? > T h i se x a m p l ew i l lo u t p u t( i fy o u rt i m e z o n eu s e sU SD S T ) : A r r a y ( [ y e a r s ]= >0 [ m o n t h s _ t o t a l ]= >1 1 [ m o n t h s ]= >1 1 [ d a y s _ t o t a l ]= >3 6 4 [ d a y s ]= >3 0 [ h o u r s _ t o t a l ]= >8 7 5 9 [ h o u r s ]= >2 3 [ m i n u t e s _ t o t a l ]= >5 2 5 5 4 0 [ m i n u t e s ]= >0 [ s e c o n d s _ t o t a l ]= >3 1 5 3 2 4 0 0 [ s e c o n d s ]= >0 ) A sy o uc a ns e e ,t h er e s u l ti sn o te x a c t l y1y e a r( l e s s1h o u r )s i n c eN o v1 ,2 0 0 6i s n o tD S Tw h i l eN o v1 ,2 0 0 7i sD S T . add a note

Copyright 2001-2014 The PHP Group


www.php.net/manual/en/ref.datetime.php 26/27

2/17/14

PHP: Date/Time Functions - Manual

My PHP.net Contact Other PHP.net sites Mirror sites Privacy policy

www.php.net/manual/en/ref.datetime.php

27/27

You might also like