o 6a@sddlZddlZddlZddlZddlmZmZmZmZm Z m Z m Z ddl m Z z ddlmZdZWn ey=dZYnwzeWn eyMeZYnwGdddZGd d d ZdS) N)assert_ assert_equal assert_raises assert_warnssuppress_warningsassert_raises_regexassert_array_equal)pickletimezoneTFc@s~eZdZddZddZddZejdgdd d Z ejdgdd d Z ejd gdgdfgdgdfgdgdfgdgdggdgdgfgejdgdddZ ddZ ddZ d d!Zejd"gd#d$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9Zd:d;Zejdgd?d@ZejdAdBgdCdDgdEdFZejdgejdGdHdIgdJdKZdLdMZdNdOZdPdQZ dRdSZ!dTdUZ"dVdWZ#dXdYZ$dZd[Z%d\d]Z&d^d_Z'd`daZ(dbdcZ)dddeZ*dfdgZ+ejdhe,-didje,-dkdjdlfe,-didje,-dmdjdnfe,-dodje,-dmdjdnfe,-dldpe,-dqdjdlfe,-dre,-dqdsfe,-dtdue,-dvdwdlfe,j.gdxdydze,j.dtgdydze,j.gd{e,j/dzfgd|d}Z0ejd~e,-dde,-ddfe,-de,-ddfe,-e,1e,j/j2e,-dfgddZ3ejdddgddZ4ejde,-didue,-ddjfe,-didwe,-dldfgddZ5ejd~e,-didje,-dkdjfe,-didje,-dmdjfe,-dodje,-dmdjfe,-dldpe,-dqdjfe,-dre,-dqfe,-dtdue,-dvdwfe,j.gdxdydze,j.dtgdydzfgddZ6ejd~e,-dde,-ddfe,-de,-ddfe,-e,1e,j/j2e,-dfgddZ7ddZ8ddZ9ddZ:ddZ;ddZddZ?ddZ@ddZAddZBddZCddZDddZEddZFddZGddZHddZIejjJeK ddddZLddZMddZNddZOejde,-didje,-ddje,-dldjfe,-ddje,-dndje,-ddjfe,-ddje,-dtdje,-dldjfe,-ddje,-ddje,-ddjfe,-ddje,-ddje,-ddjfe,-dldpe,-ddje,-ddjfe,-dlde,-ddɡe,-ddɡfe,-de,-ddɡe,-dfe,-dtdue,-ddwe,-dtdwfg dd̄ZPejde,-didue,-ddjfe,-didwe,-dldfgdd΄ZQddЄZRejde,-didudfde,-dldfgddԄZSddքZTdd؄ZUddڄZVdd܄ZWddބZXddZYddZZddZ[ddZ\ddZ]ddZ^ejd"gdejdgdddZ_ddZ`ddZaejdddgddZbejdgdddZcejddudwejddejjeddddddpdjdddɐdddejddejjedddgejdddlgdd Zfd S(  TestDateTimecCs dD]&}td|}t|td|ktd|}t|td|kqtttddttdtdttd td ttd tdkp]td tdkttd tdkpstdtdkttd td kttdtdttdtdttdtdkptdtdkttdtdkptdtdkttdtdktttjdtttjdtttjdtttjdtttjdtttjdtttjdtttjd tttjd!dS)"N)YMWDhmsmsusμsnspsfsasz M8[750%s]zdatetime64[750%s]zm8[%s]ztimedelta64[%s]M8 datetime64z=M8z=M8[s]M8[s]z>M8zM8[D]M8[D]m8zm8[D]m8[D]zz2010-03r=z 2010-03-12rz 2010-03-12T17rAz2010-03-12T17:15zM8[m]z2010-03-12T17:15:08rz2010-03-12T17:15:08.1M8[ms]z2010-03-12T17:15:08.12z2010-03-12T17:15:08.123z2010-03-12T17:15:08.1234rfz2010-03-12T17:15:08.12345z2010-03-12T17:15:08.123456z1970-01-01T00:00:02.1234567rez1970-01-01T00:00:02.12345678z1970-01-01T00:00:02.123456789z1970-01-01T00:00:02.1234567890M8[ps]z1970-01-01T00:00:02.12345678901z 1970-01-01T00:00:02.123456789012z!1970-01-01T00:00:02.1234567890123zM8[fs]z"1970-01-01T00:00:02.12345678901234z#1970-01-01T00:00:02.123456789012345z$1970-01-01T00:00:02.1234567890123456M8[as]z%1970-01-01T00:00:02.12345678901234567z&1970-01-01T00:00:02.123456789012345678i -todaynow)rr(rr)rtrurDr0r0r1(test_timedelta_scalar_construction_unitss                    z5TestDateTime.test_timedelta_scalar_construction_unitsc Cstjddd}tdd}t|dtjdddt|dtjdddt|dtjdddt|dtjdddt|d tjdd dtt|d tdd tt|d tdd tt|d tdd tt|d tdd tt|dtddtt|d tdd tt|d tdd tt|d tdd tt|d tdd tt|dtddttjgd}|d}|d}|d}|d}|d}ttdgd} t|d| t|d| t|d| t|d| t|d| t|d| ttdgd} t|d| t|d| t|d| t|d| t|d| t|d| dS)NrFrrh[D]rrr=r>M8[W]z[s]z[ms]z[M]z[Y]z[W]fgrFGreztimedelta64[ns])r(rirrrnanrH) r,rwrxrfnanlnancnancfnanclnanrr0r0r1test_datetime_nat_castingsJ      z&TestDateTime.test_datetime_nat_castingcCs@ttjdddddttjdddddttjddddd ttjd dddd ttjd dddd ttjdddddttjdddddttjdddddttjdddddttjdddddttjdddddttjdddddttjdddddttjdddddttjd dddd!ttjd"dddd#ttjd$dddd%ttjd&dddd'ttjd(dddd)ttjd*dddd+ttjd,dddd-ttjd.dddd/dS)0N1599rrhr7g1600g 1601gs1900i!1901i1967i1968i%1969i1970r1971im1972i1973iH1974irGi*2001i;,2400i~e2401if 1600-02-29iW 1600-03-01iXz 2000-02-29i+z 2000-03-01i + 2001-03-22i,rr(rirrDr0r0r1test_days_creation6sdzTestDateTime.test_days_creationcCslttjddddtdddttjddddtdddttjd dddtd ddttjd dddtd ddttjd dddtdddttjddddtdddttjddddtdddttjddddtdddttjddddtdddttjddddtddddS)Nrrrhr}i?r\ri@riArilrimrGrirr]rrKrrp)rr(rirrtrurDr0r0r1test_days_to_pydate]s<          z TestDateTime.test_days_to_pydatecCsfttdtdk ttdtdkttdtdkttdtdkdS)NrfrM8[2D]rrr(r)rDr0r0r1test_dtype_comparisonssz"TestDateTime.test_dtype_comparisoncCstjdtdddgdd}t|d|dtjd td dd gdd}t|d|dtjd td ddgdd}t|d|dtjdtjgdd}t|d|dttjtdddddttddS)Nz 1960-03-12irKr~rrhrr\z 1999-12-31ir 2000-01-01rrrz1960-03-12T00:00:00)r(rirtrurrrr,rwr0r0r1test_pydatetime_creationysz%TestDateTime.test_pydatetime_creationcCsLgd}tj|dd}tj|dd}tj|dd}t||dt|j|djt|}||d<t||t||dt|}||d<t||t||dt|j|djt|}||d<t||t||dt|}||d<t||t||tjdftj|jtjdfd}||d<t||dS) Nz 2011-03-16z 1920-01-01z 2013-05-19SrhUr.S0) r(rirrr) empty_likestring_emptyshape)r,rwstr_auni_adt_adt_bstr_buni_br0r0r1test_datetime_string_conversions4        z,TestDateTime.test_datetime_string_conversion time_dtyper"r>cCsRtjddg|d}||j}t|||tj}t||tjdSN2017rFrh)r(rirr) newbyteorderrviewr)r,rtimes times_swapped unswappedr0r0r1test_time_byteswappings  z#TestDateTime.test_time_byteswappingtime1time2)rr)r!rgcCst|}t|}tjddg|d}||}|||}t||||}t|||||}t||dSr)r(r)rirrr)r,rrdtype1dtype2rrWresr0r0r1test_time_byteswapped_casts     z'TestDateTime.test_time_byteswapped_cast str_dtyperrc Cstjddg|d}tjddg|d}||}||j}||}t||||j}t||||j}t||||j}||}t||||j}t||||j}t||dSr)r(rirr)rr) r,rrr from_strings to_stringsrrfrom_strings_swappedr0r0r1$test_datetime_conversions_byteorderss&        z1TestDateTime.test_datetime_conversions_byteorderscCsvtjgddd}tt|dtjddgdd}ttj|ddd d id d tgd d}tt|ddS)Nrrrhz(['2011-03-16' '1920-01-01' '2013-05-19']z2011-03-16T13:55z1920-01-01T03:12z, rtcSsdtj|ddS)Nz'%s'UTCr )r(datetime_as_string)xr0r0r1z6TestDateTime.test_datetime_array_str..) separator formatterz*['2011-03-16T13:55Z', '1920-01-01T03:12Z'])rrF2030z['2010' 'NaT' '2030'])r(rirr* array2stringrrr0r0r1test_datetime_array_strs  z$TestDateTime.test_datetime_array_strcCstjgddd}tt|dtjddgdd}tt|dtjgddd}tt|dtjgd dd}tt|d tjgd d d}tt|d tjgd d d}tt|d dS) N)rdrrhz [ -1 0 100]rFz ['NaT' 'NaT'])r rFrz[ -1 'NaT' 0])r rFiz[ -1 'NaT' 1234567]z>mz' p4 NNNI-1 I-1 I0 ((dp5 (S'us' p6 I1 I1 I1 tp7 tp8 tp9 b.>M8[us]) ranger HIGHEST_PROTOCOLr(r)rloadsdumpsr)r,protorscalardeltapklr0r0r1 test_pickle s&   zTestDateTime.test_picklec Cstd}tt|jdt|dtddktt|jddddddddid ff t|dtddkdS) z@Verify that datetime dtype __setstate__ can handle bad argumentsr) r>NNNr r rr\r]rrNr rxxx)r(r)rrs __setstate__r __reduce__r+r,rr0r0r1 test_setstate%s "$&zTestDateTime.test_setstatec CsdD]}ttt|dt|dt|dttt|dt|dt|dttt|dt|dt|dttt|d t|d t|d ttt|d t|d t|dttt|dt|dt|dqtttjtdtdtttjtdtdtttjddtttjddtttjddtttjddtttjtdtdtttjtdtddS)N)rrz8[2Y]z8[12Y]z8[15Y]z8[3Y]z8[62M]z8[24M]z8[2M]z8[1W]z8[2D]z8[1D]z8[W]z8[13s]z8[s]z8[13W]z8[49s]z8[7s]r@r"r?zm8[W]float32r uint64zm8[fs]r!zm8[as])rr( promote_typesr)rr+ OverflowError)r,mMr0r0r1test_dtype_promotion-sR      z!TestDateTime.test_dtype_promotioncCs(dd}tt|dd}tt|dS)NcStdddS)Nz#1971-01-01 00:00:00.000000000000000rnumpyrrr0r0r0r1castVz-TestDateTime.test_cast_overflow..castcSr&)N2014z.cast2)rr#)r,r)r,r0r0r1test_cast_overflowTs zTestDateTime.test_cast_overflowcCstjgdtjd}dD]<}|j|d}d|d<d|d<d|d <d |d <d |d <d|d<d|d<d|d<d|d<t|t||d|q dD]<}|j|d}d|d<d|d<d|d <d|d <d|d <d|d<d|d<d|d<d|d<t|t||d|qKdS) N)rrrrrrrrrilk3iBr rr\i= iyGrh)rrr=r>z -0001-01-01rz -0001-12-31r\z 0000-01-01r]z 0001-01-01rKz 1969-12-31rr|rz 9999-12-31r 10000-01-01rrFrzError roundtripping unit %s)rzM8[16fs]rrfz M8[300as]zM8[20us]z-0001-01-01T00z-0001-12-31T00z 0000-01-01T00z 0001-01-01T00z1969-12-31T23:59:59.999999z 1970-01-01T00z9999-12-31T23:59:59.99999910000-01-01T00)r(rircopyrrrobject)r,rwr-rxr0r0r1test_pyobject_roundtrip^s@ z$TestDateTime.test_pyobject_roundtripcCsttjdddtjdddttjdddtjddddttjdddtjd dddttjd ddtjd dddttjd ddtjd ddddS)Nz 1945-03-01r=rhz 1945-03-31z 1969-11-01z1969-11-30T23:59:59.99999rz 1969-12-01z1969-12-31T23:59:59.99999r|z1970-01-31T23:59:59.99999z 1980-02-01z1980-02-29T23:59:59.99999rrDr0r0r1test_month_truncations z"TestDateTime.test_month_truncationc CsdD]}td|}dD]y}td|}ttjd|dtjd|dttjd|dtjd|dttjd|dtjd|dttjd|dtjd|dttd|td|ttd|td|ttd|td|ttd|td|q qd D]}td|}d D]y}td|}ttjd |dtjd |dttjd |dtjd |dttjd |dtjd |dttjd|dtjd|dttd |td |ttd |td |ttd |td |ttd|td|qqdD]K}td|}dD]>}td|}ttjtjddd|tjddd|ddttjtjddd|tjddd|ddqqtjddd}tjddd}tt tj ||dddS)N)r rrzM8[%s]1945rhr999910000r.)6hrrr10msrr)rrrrrz 1945-03-12T18z 1970-03-12T18z 9999-03-12T18r/)r12hrrr4srr)rrrrrrz 1932-02-17rz1932-02-17T00:00:00unsafer4z 10000-04-27z10000-04-27T00:00:00 2012-12-21rrKr"r3) r(r)rrirrequalrrr+less)r,unit1r.unit2r/rwrxr0r0r1test_different_unit_comparisons                          z+TestDateTime.test_different_unit_comparisoncCstjdgdd}tjdgdd}tt|j|jtt|j|jtt|j|jtt|j|jtt|j|jtt|j|jdS)NrKzm8[4D]rhr<r)r(rir ones_liker) zeros_likerrvr0r0r1test_datetime_likeszTestDateTime.test_datetime_likec CstjdgddtjdgddtjdgddtjdgddtjdgddftddtddtddtddtddffD]\}}}}}t| |t| j|jtt||tt|j|jtt||tt|j|jtt||tt|j|jtt||tt|j|jtt||tt||tt||tt|j|jt q@dS) NrKr"rhrrr\r r) r(rirHrr)negativepositiveabsolutesignr)r,tdatdbtdzerotdonetdmoner0r0r1test_datetime_unarys<      z TestDateTime.test_datetime_unaryc Cs*tjdgddtjdgddtjdgddtjdgddtjdgd dtjd gd dtjd gd dftdd tdd tddtdd tdd td dtd dffD]9\}}}}}}}t|||t||jtd t|d|dt|djtd t|d|t|djtd td||td|jtd td||td|jtd t|d|dt|d|t|djtdt|d|t|d|t|djtdtd||td||td|jtdtd||td||td|jtdt|||t|||t||jtdt|||t|||t||jtdttj||dd|ttj||ddjtdttj||dd|ttj||ddjtdtttj||qXdS)Nr<rrh 2012-12-24z 2012-12-21T11rArFrKr" rBSr[h]Tr\HFr;r4) r(rirrHrr)addrr+)r,dtadtbdtcdtnatrIrJtdcr0r0r1test_datetime_addsp       zTestDateTime.test_datetime_addc CsVtjdgddtjdgddtjdgddtjdgddtjdgddtjd gddtjd gd dtjd gd dtjdgd df tddtddtddtddtddtd dtd dtd dtddf fD]7\ }}}}}}}}} t||| t||jtd t||| t||jtd t| d| dt| djtd t| d| t| djtd td|| td|jtd td|| td|jtd t|d|dt|d|t|djtdt|d |t|d |t|d jtdt|||t|||t||jtdttj||dd|ttj||ddjtdttj||ddtddttj||ddjtd ttj||ddtddttj||ddjtd tttj||tttjd|tttjd |qpdS)Nr<rrhrOz 1940-12-24z 1940-12-24T00rAz 1940-12-23T13rFrKr"rPrB=rrRTr\rSFr;r4rr) r(rirrHrr)subtractrr+) r,rUrVrWdtddterXrIrJrYr0r0r1test_datetime_subtractHs~          z#TestDateTime.test_datetime_subtractc Cs6tjdgddtjdgddtjdgddtjdgddftddtdd tdd tdd ffD]\}}}}t|d |t|d jtdtd ||td |jtdt|d |t|d jtdtd ||td |jtdtttj||tttj||tttj||tttj|d tttjd |tttj|d tttjd |q4t R}| t d td }dd}t t fD]}|||d ||||d|qt dt dfD]} |td| ||td| |||| |qWddS1swYdS)Nr<rrhrrBr^r~rrRr]?z%invalid value encountered in multiplyrFcSs t|||t|||dSNr)rwrxrr0r0r1checksz2TestDateTime.test_datetime_multiply..checkrinfrr\)r(rirrHrr)rr+multiplyrfilterRuntimeWarningintfloat) r,rUrIrJrYsuprrctprr0r0r1test_datetime_multiplysP        $z#TestDateTime.test_datetime_multiplyz op1, op2, exprrrr\r`rrrib<r]r 13r)r\r]rKr rh)rr\r\cCst|||dSrarb)r,op1op2expr0r0r1test_timedelta_floor_dividesz(TestDateTime.test_timedelta_floor_dividezop1, op2rrrrF2r cCsNtt||}t|dt|jtjWddS1s wYdS)Nr)rrgrr)r(r)r,rprqrr0r0r1!test_timedelta_floor_div_warningss  "z.TestDateTime.test_timedelta_floor_div_warningsz val1, val2)lr\)lr`cCs2t|}t|}||}||}t||dSra)r(rHr)r,val1val2rprqrrWr0r0r1"test_timedelta_floor_div_precisions z/TestDateTime.test_timedelta_floor_div_precisionrKrcCs8ttd ||WddS1swYdSNzcommon metadata divisorrr+r,rvrwr0r0r1test_timedelta_floor_div_error "z+TestDateTime.test_timedelta_floor_div_errorcCs$||||f}tt|||dSra)rdivmod)r,rprqrWr0r0r1test_timedelta_divmodsz"TestDateTime.test_timedelta_divmodcCsxtt||||f}Wdn1swYtt t||}Wdn1s0wYt||dSra)rrgr~r)r,rprqrWrr0r0r1test_timedelta_divmod_warnings6s   z+TestDateTime.test_timedelta_divmod_warningsc Cstjdgddtjdgddtjdgddtjdgddtjdgddftdd tdd tdd tdd tdd ffD]\}}}}}t|d |t|d jtdt|d |t|d jtdt||dtt||dtt||dt||dt||jtdt||dt||dtt tjd |tt tjd |tt tj||tt tj||tt tj|d tt tjd |tt tj|dtt tjd|q@t }| t dtd}t tfD],}ttd|d|ttd|d|t||d|t||d |qttdtdtdttdtdtdt|td|ttdtd|ttdtd|t|td|WddS1sywYdS)Nr<rrhrrBr^r~zm8[m]rrRz[m]r]g?gUUUUUU?r`f8gN@g?z.*encountered in true\_dividerFr\rrdr)r(rirrHrr)divide true_dividerr+rrfrgrhri) r,rUrIrJrYtddrjrrkr0r0r1test_datetime_divideJs`        $z!TestDateTime.test_datetime_dividecCstd}tjgddd}tt||gdtt||gdtt||gdtt||gdtt||gd tt ||gd dS) N2000-03-12T18:00:00.000000)rz2000-03-12T17:59:59.999999z2000-03-12T18:00:00.000001z1970-01-11T12:00:00.909090z2016-01-11T12:00:00.909090zdatetime64[us]rh)r\rrrr)rr\r\r\r\)rrr\rr\)r\rr\rr\)rr\rr\r)r\r\rr\r) r(rrirr= not_equalr> less_equalgreater greater_equalrvr0r0r1test_datetime_compares  z"TestDateTime.test_datetime_comparecCstdd}td}tdd}tdd}tjtjtjtjtjfD]2}t||| t||| t||| t||| t||| t||| q#tt ||tt ||tt ||tt ||tt ||tt ||dS)NrFrrrr\) r(rrHr=r>rrrrr)r,dt_natdt_othertd_nattd_otheropr0r0r1test_datetime_compare_nats&     z&TestDateTime.test_datetime_compare_natcCstjddd}tjddd}tt|||tt||jtdtt|||tt||jtdtt|||tt||jtdtt|||tt||jtdtt|d|d|dtjddd}tjddd}tt|||tt|||tt|||tt|||tt|||tt|||tt|||tt|||tjd d d}tjd d d}tt|||tt||jtd tt|||tt||jtd tt|||tt||jtd tt|||tt||jtd tt|d|d|dtjd d d}tjddd}t t tj||d dt t tj||d dt t tj||d dt t tj||d ddS)Nz 1999-03-12T13zM8[2m]rhz 1999-03-12T12rr7rFrArKrBi-*r!r3r4) r(rirminimumr)fminmaximumfmaxrrr+)r,rwrxrXr0r0r1test_datetime_minmaxsL$$z!TestDateTime.test_datetime_minmaxcCs0tjddd}d|d<t|djdkdS)NrKrrhi rr)r(onesritemhourr,tr0r0r1 test_hoursszTestDateTime.test_hourscCLttdtdkttdtdkttdtdkdS)NzM8[Y/4]zM8[3M]zM8[Y/13]zM8[4W]z M8[3Y/73]zM8[15D]rrDr0r0r1test_divisor_conversion_yearz)TestDateTime.test_divisor_conversion_yearcCr)NzM8[M/2]zM8[2W]zM8[M/15]rz M8[3M/40]zM8[54h]rrDr0r0r1test_divisor_conversion_monthrz*TestDateTime.test_divisor_conversion_monthcCr)Nzm8[W/7]r"z m8[3W/14]zm8[36h]z m8[5W/140]zm8[360m]rrDr0r0r1test_divisor_conversion_weekrz)TestDateTime.test_divisor_conversion_weekcCr)NzM8[D/12]zM8[2h]z M8[D/120]zM8[12m]z M8[3D/960]zM8[270s]rrDr0r0r1test_divisor_conversion_dayrz(TestDateTime.test_divisor_conversion_daycC4ttdtdkttdtdkdS)Nzm8[h/30]zm8[2m]z m8[3h/300]zm8[36s]rrDr0r0r1test_divisor_conversion_hourz)TestDateTime.test_divisor_conversion_hourcCr)Nzm8[m/30]zm8[2s]z m8[3m/300]z m8[600ms]rrDr0r0r1test_divisor_conversion_minute rz+TestDateTime.test_divisor_conversion_minutecCr)Nz m8[s/100]zm8[10ms]z m8[3s/10000]z m8[300us]rrDr0r0r1test_divisor_conversion_secondrz+TestDateTime.test_divisor_conversion_secondcCs*ttdtdkttdddS)Nz M8[fs/100]zM8[10as]cS tdS)Nz M8[3fs/10000]r(r)r0r0r0r1r z9TestDateTime.test_divisor_conversion_fs..)rr(r)rrsrDr0r0r1test_divisor_conversion_fssz'TestDateTime.test_divisor_conversion_fscCsttdddS)NcSr)Nz M8[as/10]rr0r0r0r1rrz9TestDateTime.test_divisor_conversion_as..)rrsrDr0r0r1test_divisor_conversion_asrz'TestDateTime.test_divisor_conversion_asc Cs`ttdgtdtdgtdttdgtdtdgtdttdgtdtdgtdttttdgtdtdgtdWdn1scwYttttdgtdtd gtdWdn1swYttttd gtdtd gtdWdn1swYttttd gtdtd gtdWdn1swYttttdgtdtdgtdWdn 1swYttttdtdWddS1s)wYdS)Nz1980-02-29T01:02:03rz1980-02-29 01:02:03z+1980-02-29T01:02:03z+1980-02-29 01:02:03z-1980-02-29T01:02:03z-1980-02-29 01:02:03z+1980-02-29 01:02:03Zz-1980-02-29 01:02:03Zz1980-02-29T02:02:03z1980-02-29 00:32:03-0130z1980-02-28T22:32:03z1980-02-29 00:02:03+01:30z1980-02-29T02:32:03.506z1980-02-29 00:32:03.506-02z1977-03-02T12:30-0230z1977-03-02T15:00)rr(rir)rrzrrDr0r0r1test_string_parser_variantssX       $z(TestDateTime.test_string_parser_variantscCstttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjd gtdtttjd gtdtttjd gtdtttjd gtdtttjd gtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjd gtdtttjd!gtdtttjd"gtdtttjd#gtdtttjd$gtdtttjd%gtdtttjd&gtdtttttjd'gtdWdn 1swYtttttjd(gtdWdn 1swYtttttjd)gtdWdn 1swYtttttjd*gtdWdn 1s;wYtttttjd+gtdWddS1s]wYdS),Nbadvaluerf1980Xz1980-z1980-00z1980-13z1980-1z 1980-1-02z1980-Morz1980-01-z 1980-01-0z 1980-01-00z 1980-01-32z 1979-02-29z 1980-02-30z 1980-03-32z 1980-04-31z 1980-05-32z 1980-06-31z 1980-07-32z 1980-08-32z 1980-09-31z 1980-10-32z 1980-11-31z 1980-12-32z 1980-02-03%z 1980-02-03 qz 1980-02-03 25z 1980-02-03T25z1980-02-03 24:01z1980-02-03T24:01z 1980-02-03 -1z1980-02-03 01:z1980-02-03 01:-1z1980-02-03 01:60z1980-02-03 01:60:z1980-02-03 01:10:-1z1980-02-03 01:01:60z1980-02-03 01:01:00+0661z1980-02-03 01:01:00+2500z1980-02-03 01:01:00-0070z1980-02-03 01:01:00-3000z1980-02-03 01:01:00-25:00)rrsr(rir)rrzrDr0r0r1test_string_parser_error_check>s                       $z+TestDateTime.test_string_parser_error_checkcCsd}tj|gdddtj}dD]}|d9}tj|gd|d}t||dtjd|d qt|dtjd tttd d Wdn1sSwYttt d d WddS1sowYdS) Nz1980-03-23 20:00:00z datetime64[s]rhr)rrrrNzdatetime64[%s]z%Datetime conversion error for unit %s)err_msglm 1#lr) r(rirrrpytestraisesr#rrH)r,ru timestepsr-rr0r0r1test_creation_overflows  "z#TestDateTime.test_creation_overflowcCsd}d}ttt|ddttt|ddttt|ddttt|dd ttt|d d ttt|d d ttt|dddD]}ttt||dqZd}ttt|ddttt|ddttt|ddd}ttt|d|d}ttt|ddttt|ddttt|ddd}ttt|d|td d!}ttj|dd"d#d$ttj|dd"d#d%ttj|d&d"d#d'ttj|dd"d#d'ttj|dd(d)ttj|d d(d*ttj|d d(d+ttj|dd(d,ttj|d!d(d ttj|dd(d-ttj|dd(d.ttj|dd(d/ttj|dd(d0ttjtd d!d1d(d ttjtd2d!d1d(d3ttjtd+d!d1d(d+ttjtd4d!d1d(d*ttjtd5d!d1d(d6ttjtd7d!d1d(d'ttjtd8d!d1d(d9ttjtd:d!d1d(d;dS)z 1969-12-19rprrz 2011-03-01rrrz 2012-02-03T14rr ) r(rSrr)rirrHrrsr+rr0r0r1test_datetime_arange5sN     z!TestDateTime.test_datetime_arangecCs6tjddd}tt||d|tttj|dS)Nz 2010-01-04rrhr\)r(rirrSrrsr,rr0r0r1test_datetime_arange_no_dtype^sz*TestDateTime.test_datetime_arange_no_dtypecCstjdddd}t|jtdt|tdtddtjtdddddd}t|jtdt|tddtdddtttjtdtd dtttjtdd td d tttjtdd td d dS) NrKrr rhrrr]r!rrrr )r(rSrr)rHrrsr+rr0r0r1test_timedelta_arangecs    z"TestDateTime.test_timedelta_arangezval1, val2, expectedrrlrpr9iricCst|||dSrarb)r,rvrwrWr0r0r1test_timedelta_modulusus$z#TestDateTime.test_timedelta_moduluscC8ttd ||WddS1swYdSryrzr{r0r0r1test_timedelta_modulus_errorr}z)TestDateTime.test_timedelta_modulus_errorcCsVtttddtdd}t|tdWddS1s$wYdS)NrrrrF)rrgr(rHr)r,rr0r0r1"test_timedelta_modulus_div_by_zeros "z/TestDateTime.test_timedelta_modulus_div_by_zerog@cCr)Nz*'remainder' cannot use operands with typesrzr{r0r0r1&test_timedelta_modulus_type_resolutions   "z3TestDateTime.test_timedelta_modulus_type_resolutioncCs@tjddd}tt||d|tt|td|dS)Nrr"rhr\r)r(rirrSrr0r0r1test_timedelta_arange_no_dtypesz+TestDateTime.test_timedelta_arange_no_dtypecCstjgddd}ttj|jtdttj|tdtjgddd}ttj|jtdttj|tdddS) N) 2010-01-02z 1999-03-14z1833-03rrhr)r\rrrr]r!rr)r(rirrreducer)rrHrr0r0r1test_datetime_maximum_reduces   z)TestDateTime.test_datetime_maximum_reducecCspttjdddddtdttjdddddtd ttjdddddtd ttjd dd d td ttjd ddd td ttjd ddd tdttjd ddd tdttjd ddd tdttjd ddd tdttjdddd tdttjdddd tdttjdddd tdttjdddd tdttjdddd tdtttjddttddtdttddtdttjddd d!td"ttjd"d#d d!tdttjtd$d%d&d td$ttjtd$d%dd td$ttjtd$d%dd td$dS)'Nz2011-06rforwardMon)rollweekmaskz 2011-06-06z2011-07r z 2011-06-27z2010-08backward)rz 2010-07-30 precedingmodifiedprecedingz 2010-08-02modifiedfollowing followingz 2010-10-30z 2010-11-01z 2010-10-29z 2010-10-16z 2010-10-18z 2010-10-15z 2011-06-04z 2006-02-01rmz 2006-03-08z 2007-02-25rPSatSunrz 2007-04-07irFr\r)rr( busday_offsetrrrsrDr0r0r1test_datetime_busday_offsets  z(TestDateTime.test_datetime_busday_offsetcCstjgdd}t|jtjgdddt|jtjgdddtjdd }t|jtjgd ddtjd d }t|jtjgd ddtjd d }t|jtjgdddtttjgdd tttjdd tttjdd tttjdd tttjdd tttjdd dS)N)rF 2011-01-17z 2011-03-06rF 2011-12-26 2011-05-30rholidays)rrrrrh)r\r\r\r\r\rr?zSun TueWed Thu Frir)rr\r\r\r\rr\0011001)rrr\r\rrr\zMon Tue)r\r\rrrrr)rrrrrrrsatsunz Mon Tue WeMaxz Monday Tue)r(busdaycalendarrrrirrrs)r,bddr0r0r1test_datetime_busdaycalendars&   z)TestDateTime.test_datetime_busdaycalendarcCsNttjdddgdtdttjdddgdtdttjdddgdtdttjdd dgdtdttjdd dgdtdttjdd dgdtdttjddddgdtdttjdd ddgdtdttjdddd gdtdttjdd d dgdtdttjdddd gdtdttjdd dd gdtdttjddd dgdtdttjdd d dgdtdttjddgddtdttjdd gddtdgd}tjd|d}ttjdd|dtddttjdd|dtddttjdd|dtddttjdd|dtddttjdd|dtddttjdd|dtddttjdd|dtddttjdd|dtddttjdd |dtdd!ttjdd|dtdd"ttjdd|d#tdd"ttjd$d |dtd$d%ttjd$d&|dtd$d ttjd$d |dtd$d'ttjd$d(|dtd$d)ttjd$d*|dtd$d+ttjd$d,|dtd$d-ttjd$d.|dtd$d/ttjd$d0|dtd$d1ttjd$d2|dtd$d3ttjd$d2|d#td$d3tttjd$d4d|d5tttjd$d4||d6ttjd7d8d9|d:td;ttjdttjd?d8d@gdAd:tdBttjdCd8dDgdEd:tdFdS)GNz 2011-11-10r\ 2011-11-11rz 2011-11-14z 2011-11-04rz 2011-11-18r rF 2011-11-24 2011-10-10)rrr)rrr 2011-12-25r 2011-02-21r 2012-01-021111100rrz 2011-10-03rrrr#%ro'8;rr[rn@B busdaycal 2012-01-03r`rmiriiiiiiiiiiiirrrrrrr)rrz 2011-12-27rrz 2011-12-23 2012-02-27r)rz 2012-02-26z 2012-02-28 2012-03-01z 2012-02-29z 2012-02-24 2012-03-06r)z 2012-03-02z 2012-03-03rz 2012-03-05z 2012-03-07rz 2012-03-08)rr(rrrrrsr,rrr0r0r1$test_datetime_busday_holidays_offset*s                       z1TestDateTime.test_datetime_busday_holidays_offsetcCsgd}tjd|d}tjdtdd|d}ttjd||dtdttj|d|dtd tjd td d|d}ttj|d |dtdttjd ||dtd tttjd d d|d tttjd d ||d ttjdddddttjddddddS)N) 2011-01-01rrrrrrrrrrr 2011-07-01 2011-07-04 2011-09-05rrrrinr)rrrz 2011-12-31rz 2012-02-03rrz2011-03z2011-04rrrrm)r(rrrSr busday_countrrs)r,rrdatesr0r0r1#test_datetime_busday_holidays_counts8    z0TestDateTime.test_datetime_busday_holidays_countcCslgd}tjd|d}ttddttddttddttj||d tjt|d d dS) N)rrrrrrrrrrrrrr r rrFrrrFz 2011-01-02z 2011-01-03Trrrh)r(rr is_busdayzeroslenrr0r0r1test_datetime_is_busdaysz$TestDateTime.test_datetime_is_busdaycCstd}t|tjdtd}t|tjdtttd}t|tjdWdn1s9wYtttd}t|tjdWdn1s[wYtd}tt|ddS)N2038-01-19T03:14:07iz2038-01-19T03:14:08lz2038-01-19T04:14:07+0100z2038-01-19T04:14:08+0100z2038-01-20T13:21:14)r(rrrrrrzr*rr0r0r1test_datetime_y2038 s       z TestDateTime.test_datetime_y2038cCs$tttddtttddtttd tttddtttdd tgd}dD]N}tjgdd |d }tt||tjgdd |d }tt||tjgdd |d }tt||tjgdd |d }tt||qAdS)NrFrrr"FFT r rrrrrrrrrrrrrirFdatetime64[%s]timedelta64[%s])rr(isnatrrHrir)r,rr-rXr0r0r1 test_isnat s zTestDateTime.test_isnatcCs:tjdD]}|tjdvrqtttjtd|qdS)NAllDatetimer)r( typecodesrr+rrrr0r0r1test_isnat_error0 s zTestDateTime.test_isnat_errorcCsvtttdd tttdd tttdtttdd tttdddS)NrFrrrr)rr(isfiniterrHrDr0r0r1test_isfinite_scalar7 s z!TestDateTime.test_isfinite_scalarrdstr)rrrrcCsxgd}tj|||d}tgd}tgd}tgd}tt||tt||tt||dS)zLcheck isfinite, isinf, isnan for all units of M, m dtypes rrh)TTFr)FFFN)r(rirr"isinfisnan)r,r-r$arr_valrXposnegfalser0r0r1test_isfinite_isinf_isnan_units? sz,TestDateTime.test_isfinite_isinf_isnan_unitscCsttttdtddS)Nr)rAssertionErrorrr(rrHrDr0r0r1test_assert_equalO szTestDateTime.test_assert_equalcCsRgg}}||||tdg}||d<tt|jdtt|jddS)Nrrr )appendr(rirrsr)r,rwrxobj_arrr0r0r1test_corecursive_inputS s    z#TestDateTime.test_corecursive_inputrr0)r\cCstjdtd|}tjddd|}|jtdksJt|d|td|d<t|d||d}t|dd|dS)Nz 2020-10-10rhrr.r)r(rir1reshaper)rrbytes_)r,rrXrr0r0r1 test_discovery_from_object_array` s z-TestDateTime.test_discovery_from_object_array time_unit)r rrrrrrrrrrrr10D2McCsZtd|}tttjj|}tttjj |}||kr(|ks+JJdS)zY Dates should have symmetric limits around the unix epoch at +/-np.int64 rN)r(riinformax)r,r4epochlatestearliestr0r0r1test_limit_symmetryk s  z TestDateTime.test_limit_symmetryrzgh-13197)marksrrrrrr5zsimilar to gh-13197rHcCs:tttjj||}tt||}||ksJdS)z Limits should roundtrip when converted to strings. This tests the conversion to and from npy_datetimestruct. N)r(rr7rr8r*)r,r4rHlimit limit_via_strr0r0r1test_limit_str_roundtrip{ sz%TestDateTime.test_limit_str_roundtripN)g__name__ __module__ __qualname__r2rErIrmark parametrizerYr[rkryr{rrrrrrrrrrrrrrrrr rrrr%r-r2r3rArDrNrZr_rlr(rHrirrsr7minrurxr|rrrrrrrrrrrrrrrrrrrrskipif _has_pytzrrrrrrrrrrrrrr rrrr!r#r+r-r0r3r<paramxfailr@r0r0r0r1r s)I   L %  V  P1'&    ' % ? (FK8                                    A;$Sj ')                          #         =")$     r c@s$eZdZddZddZddZdS)TestDateTimeDatacCs(tjdgtjd}tt|jddS)Nz 1980-03-23rh)rr\)r(rirr datetime_datar)rr0r0r1 test_basic szTestDateTimeData.test_basiccCDtdd}t|jdksJtdd}t|jdks JdS)NrG)smsr)rrs5msr(rrLr)rr0r0r1 test_bytes   zTestDateTimeData.test_bytescCrN)NrG)rr)rru5μsrOrr0r0r1test_non_ascii rQzTestDateTimeData.test_non_asciiN)rArBrCrMrPrRr0r0r0r1rK s rK)r(r(rtr numpy.testingrrrrrrr numpy.compatr pytzr rrH ImportErrorRecursionError NameError RuntimeErrorr rKr0r0r0r1sL$