a :jg@sddlZddlZddlZddlZddlZddlmZmZmZm Z m Z m Z m Z m Z zddlmZdZWneyzdZYn0zeWneyeZYn0GdddZGdd d Zd d ZdS) N)IS_WASMassert_ assert_equal assert_raises assert_warnssuppress_warningsassert_raises_regexassert_array_equaltimezoneTFc@s eZdZddZddZddZddZd d Zej d gd d dZ ddZ ej dgdddZ ej dgdddZej dgdgdfgdgdfgdgdfgdgdggd gd!gfgej d"gd#d$d%Zd&d'Zd(d)Zd*d+Zej d gd,d-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Zd=d>Zd?d@ZdAdBZdCdDZej dEdFdGgdHdIZej dJdKgdLdMgdNdOZ ej dEdFdGgej dPdQdRgdSdTZ!dUdVZ"dWdXZ#dYdZZ$d[d\Z%d]d^Z&d_d`Z'dadbZ(dcddZ)dedfZ*dgdhZ+didjZ,dkdlZ-dmdnZ.dodpZ/ej dqe01drdse01dtdsdufe01drdse01dvdsdwfe01dxdse01dvdsdwfe01dudye01dzdsdufe01d{e01dzd|fe01d}d~e01dddufe0j2gddde0j2d}gdde0j2gde0j3dfgddZ4ej j5e6ddej de01dde01ddfe01de01ddfe01e07e0j3j8e01dfgddZ9ej dddgddZ:ej de01drd~e01ddsfe01drde01dudfgddZ;ej de01drdse01dtdsfe01drdse01dvdsfe01dxdse01dvdsfe01dudye01dzdsfe01d{e01dzfe01d}d~e01ddfe0j2gddde0j2d}gddfgddZddZ?ddZ@ddZAddZBddZCddZDddZEddZFddZGddZHddZIddZJddZKddZLddZMddZNddÄZOej j5eP ddddƄZQddȄZRddʄZSdd̄ZTej de01drdse01ddse01dudsfe01ddse01dwdse01ddsfe01ddse01d}dse01dudsfe01ddse01ddse01ddsfe01ddse01ddse01ddsfe01dudye01ddse01ddsfe01dude01ddԡe01ddԡfe01de01ddԡe01dfe01d}d~e01dde01d}dfg ddׄZUej de01drd~e01ddsfe01drde01dudfgddلZVej j5e6ddddۄZWej de01drd~dfde01dudfgdd߄ZXddZYddZZddZ[ddZ\ddZ]ddZ^ddZ_ddZ`ddZaddZbddZcddZdddZeej d gdej dgdddZfddZgddZhej dddgddZiej dgd d d Zjej dd~dejkd ej jld dddddydsdddԐdddejkdej jldddgej dddugddZmdS( TestDateTimecCs@d}tjt|dtdWdn1s20YdS)NCno explicit representation of timezones available for np.datetime64matchz2000-01-01T00+01pytestwarns UserWarningnp datetime64selfmsgrI/usr/local/lib/python3.9/site-packages/numpy/_core/tests/test_datetime.py test_stringszTestDateTime.test_stringcCsNd}tjt|dtdd}Wdn1s40Ytdd}dS)Nr rz2023-06-09T12:18:40Znsz2023-06-09T12:18:40r)rrt0rrr test_datetime#s*zTestDateTime.test_datetimecCs2dD]L}td|}t|td|ktd|}t|td|kqtttddttdtdttd td ttd tdkptd tdkttd tdkptdtdkttd td kttdtdttdtdttdtdkpXtdtdkttdtdkptdtdkttdtdktttjdtttjdtttjdtttjdtttjdtttjdtttjdtttjd tttjd!tttjd"dS)#N)YMWDhmsmsusμsrpsfsasz M8[750%s]zdatetime64[750%s]zm8[%s]ztimedelta64[%s]M8rz=M8z=M8[s]M8[s]z>M8zM8[D]M8[D]m8zm8[D]m8[D]z0Ytjt|d&ttdtdWdn1s0YdS)Nr rz2000-01-01T00Zz 2000-01-01T00z2000-01-01T00-08z 2000-01-01T08)rrrrrrrrrr*test_datetime_scalar_construction_timezoneAs " z7TestDateTime.test_datetime_scalar_construction_timezonecCsptdd}t|g}t|jtdtddd}t|g}t|jtdtdddddd }t|g}t|jtdtd }tdd}tddd}tdddddd }t||g}t|jtdt||g}t|jtdt||g}t|jtdt||gd }t|jtd t||gd }t|jtd dS)N 1970-01-01r rBirOO (Trr.rL) rrrRrr3r{r|boolastype)rdtrerdmdrrrtest_datetime_array_find_typeLs.      z*TestDateTime.test_datetime_array_find_type)rr r!r"r#r$r%r&r'rr)r*r+genericcCsJ|dkr*tttd|td|ntttdtddS)Nr{)rrrWint64rSrrr"test_timedelta_np_int_constructionqs z/TestDateTime.test_timedelta_np_int_constructioncCsttddtddttddtddtttd ttdtd tttd d tttd d tttd dd tttdddtttddttdjtdtdd}tjddd}t|jtdt|jtdtt||tt|jtdtt||tt|jtdtt|d|tt|djtdtt|d|tt|djtdttddttjddttddttjddttddttjddttddttjddttdd ttjdd!ttd"dttjd"d#ttd$dttjd$d%ttd&dttjd&d'td d}t t tj|d(t t tj|d)td*d(}t t tj|dt t tj|dtdd)}t t tj|dt t tj|dtjd d}t t tj|d(t t tj|d)tjd d'}t t tj|d(t t tj|d)t}t t tj|d(t t tj|d)dS)+Nr"rOr!xr%rhr$rrUznp.timedelta64('NaT')rZz 3 secondsznp.timedelta64(-3,'s')rznp.timedelta64(12)r0r#rGrQr1)daysiesecondsl@ D r') microsecondsl@ D ir&)Z milliseconds )minutesi)hours)weeksr r) rrrWr4ryr3rRr{ timedeltarr5r}rrr"test_timedelta_scalar_constructions                  z/TestDateTime.test_timedelta_scalar_constructioncCsJtdtdtdg}tjgddd}tj|dd}t||dS)Nrr)rrrztimedelta64[D]rQ)r{rrrRr)rinputsrdactualrrr&test_timedelta_object_array_conversionsz3TestDateTime.test_timedelta_object_array_conversioncCsBttjdd}|tj}ttjddtj}t||dS)Nr)rrRr{rrrWr)rtestrrdrrr,test_timedelta_0_dim_object_array_conversions  z9TestDateTime.test_timedelta_0_dim_object_array_conversioncCstddtddS)NrUz{0}nat)rformatrrWrIrrrtest_timedelta_nat_formatsz&TestDateTime.test_timedelta_nat_formatc Csttdjtdttdjtdttdjtdttdjtdttd jtd ttd jtd ttd jtdttdjtdttdjtdttdjtdttdjtdttdjtdttdjtdttdjtdttdjtdttdjtdttdjtdttdjtdttdjtdttdjtdttd jtdttd!jtd"ttd#jtd"ttd$jtd"tttd%d&d'jtdtttd%d&d'd(d)d*jtdttd+jtdttd,jtd dS)-N2010rCz2010-03rBz 2010-03-12r.z 2010-03-12T17rFz2010-03-12T17:15zM8[m]z2010-03-12T17:15:08r-z2010-03-12T17:15:08.1M8[ms]z2010-03-12T17:15:08.12z2010-03-12T17:15:08.123z2010-03-12T17:15:08.1234rLz2010-03-12T17:15:08.12345z2010-03-12T17:15:08.123456z1970-01-01T00:00:02.1234567rpz1970-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)rrrr3r{r|rIrrr(test_timedelta_scalar_construction_unitss                    z5TestDateTime.test_timedelta_scalar_construction_unitsc Cs tjddd}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|dtddttjgddg}|d}|d}|d}|d}|d}|tj} ttdgdtddg} t|d| t|d| t|d| t|d| t|d| t|d| t| d| ttdgdtdg} t|d| t|d| t|d| t|d| t|d| t|d| t| d| dS)NrUr.rQ[D]r-rrBrCM8[W]z[s]z[ms]z[M]z[Y]z[W]rfgr"FGrpztimedelta64[ns])rrRrrrnanZhalfrW) rr~rrZfnanZlnanZcnanZcfnanZclnanZhnanrrrrtest_datetime_nat_casting=sP       $"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)0N1599r.rQr>g1600g 1601gs1900i!1901iZ1967iZ1968i%1969i1970rZ1971imZ1972iZ1973iHZ1974irVi*2001i;,Z2400i~eZ2401if 1600-02-29iW 1600-03-01iXz 2000-02-29i+z 2000-03-01i + 2001-03-22i,rrrRrrIrrrtest_days_creationqsdzTestDateTime.test_days_creationcCslttjddddtdddttjddddtdddttjd dddtd ddttjd dddtd ddttjd dddtdddttjddddtdddttjddddtdddttjddddtdddttjddddtdddttjddddtddddS)Nrr.rQri?rOri@riArilrimrVrirrhrrZrrx)rrrRrr{r|rIrrrtest_days_to_pydates<          z TestDateTime.test_days_to_pydatecCsfttdtdk ttdtdkttdtdkttdtdkdS)NrLrM8[2D]r.rrr3rIrrrtest_dtype_comparisonsz"TestDateTime.test_dtype_comparisoncCstjdtdddgdd}t|d|dtjd td dd gdd}t|d|dtjd td ddgdd}t|d|dtjdtjgdd}t|d|dttjtdddddttddS)Nz 1960-03-12irZrr.rQrrOz 1999-12-31ir 2000-01-01rrr-z1960-03-12T00:00:00)rrRr{r|rrrrr~rrrtest_pydatetime_creationsz%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-19SrQUr .ZS0) rrRrrr3 empty_likebytes_emptyshape)rr~Zstr_aZuni_aZdt_aZdt_bZstr_bZuni_brrrtest_datetime_string_conversions4        z,TestDateTime.test_datetime_string_conversion time_dtyper2rCcCsVtjddg|d}||j}t|||td}t||tjdS)N2017rUrQr)rrRrr3 newbyteorderr viewr)rrtimes times_swappedZ unswappedrrrtest_time_byteswappings  z#TestDateTime.test_time_byteswappingtime1time2)r-r.)r1rqcCst|}t|}tjddg|d}||}|||}t||||}t|||||}t||dSNrrUrQ)rr3rRrrr )rrrZdtype1Zdtype2rrdresrrrtest_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)rrRrr3rr ) rrrrZ from_stringsZ to_stringsrrZfrom_strings_swappedrrr$test_datetime_conversions_byteorderss&        z1TestDateTime.test_datetime_conversions_byteorderscCsvtjgddd}tt|dtjddgdd}ttj|ddd d id d tgd d}tt|ddS)Nrr rQz(['2011-03-16' '1920-01-01' '2013-05-19']z2011-03-16T13:55z1920-01-01T03:12z, r{cSsdtj|ddS)Nz'%s'UTCr )rdatetime_as_string)xrrr+sz6TestDateTime.test_datetime_array_str..) separator formatterz*['2011-03-16T13:55Z', '1920-01-01T03:12Z'])rrUZ2030z['2010' 'NaT' '2030'])rrRrr4Z array2stringrrrrrtest_datetime_array_str%s  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)rdr$rQz [ -1 0 100]rUz ['NaT' 'NaT'])rrUrz[ -1 'NaT' 0])rrUiz[ -1 'NaT' 1234567]z>mz' p4 NNNI-1 I-1 I0 ((dp5 (S'us' p6 I1 I1 I1 tp7 tp8 tp9 b.>M8[us]) rangepickleHIGHEST_PROTOCOLrr3rloadsdumpsr)rprotorZscalardeltaZpklrrr test_pickleDs&   zTestDateTime.test_picklec Cstd}tt|jdt|dtddktt|jddddddddid ff t|dtddkdS) z@Verify that datetime dtype __setstate__ can handle bad argumentsr) r>NNNrrrrOrhrrNrrZxxx)rr3rrz __setstate__r __reduce__r5rrrrr 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)r$r z8[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]rEr2rDzm8[W]Zfloat32r0Zuint64zm8[fs]r1zm8[as])rrZ promote_typesr3rr5 OverflowError)rZmMrrrtest_dtype_promotionhsR       z!TestDateTime.test_dtype_promotioncCs(dd}tt|dd}tt|dS)NcSstdddS)Nz#1971-01-01 00:00:00.000000000000000r/numpyrrrrrrcastsz-TestDateTime.test_cast_overflow..castcSstdddS)NZ2014z.cast2)rr)rr r rrrtest_cast_overflows zTestDateTime.test_cast_overflowcCstjgdtjd}dD]x}|j|d}d|d<d|d<d|d <d |d <d |d <d|d<d|d<d|d<d|d<t|t||d|qdD]x}|j|d}d|d<d|d<d|d <d|d <d|d <d|d<d|d<d|d<d|d<t|t||d|qdS) N)rrrrrrrrrilk3iBrrrOi= iyGrQ)r.rrBrCz -0001-01-01rz -0001-12-31rOz 0000-01-01rhz 0001-01-01rZz 1969-12-31rrrz 9999-12-31r 10000-01-01rrUrzError roundtripping unit %s)rzM8[16fs]rrLz 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)rrRrcopyrrrobject)rr~r6rrrrtest_pyobject_roundtrips> z$TestDateTime.test_pyobject_roundtripcCsttjdddtjdddttjdddtjddddttjdddtjd dddttjd ddtjd dddttjd ddtjd ddddS)Nz 1945-03-01rBrQz 1945-03-31z 1969-11-01z1969-11-30T23:59:59.99999r z 1969-12-01z1969-12-31T23:59:59.99999rz1970-01-31T23:59:59.99999z 1980-02-01z1980-02-29T23:59:59.99999rrIrrrtest_month_truncations z"TestDateTime.test_month_truncationc CsdD] }td|}dD]}td|}ttjd|dtjd|dttjd|dtjd|dttjd|dtjd|dttjd|dtjd|dttd|td|ttd|td|ttd|td|ttd|td|qqd D]}td|}d D]}td|}ttjd |dtjd |dttjd |dtjd |dttjd |dtjd |dttjd|dtjd|dttd |td |ttd |td |ttd |td |ttd|td|q.qdD]}td|}dD]|}td|}ttjtjddd|tjddd|ddttjtjddd|tjddd|ddqBq,tjddd}tjddd}tt tj ||tt tj ||dddS)N)rr r"zM8[%s]Z1945rQrZ9999Z10000r )Z6hr#r$r%Z10msr&r')r#r$r%r&r'z 1945-03-12T18z 1970-03-12T18z 9999-03-12T18r)r"Z12hr#r$r%Z4sr&r')r"r#r$r%r&r'z 1932-02-17r z1932-02-17T00:00:00unsafer;z 10000-04-27z10000-04-27T00:00:00 2012-12-21r.rZr2) rr3rrRrrequalrrr5less)rZunit1r7Zunit2r8r~rrrrtest_different_unit_comparisons                          z+TestDateTime.test_different_unit_comparisoncCstjdgdd}tjdgdd}tt|j|jtt|j|jtt|j|jtt|j|jtt|j|jtt|j|jdS)NrZzm8[4D]rQrr.)rrRrZ ones_liker3Z zeros_likerr}rrrtest_datetime_like szTestDateTime.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 qdS) NrZr2rQrrrOrr) rrRrWrr3negativeZpositiveabsolutesignr)rtdatdbZtdzeroZtdoneZtdmonerrrtest_datetime_unarys:      z TestDateTime.test_datetime_unaryc Cs*tjdgddtjdgddtjdgddtjdgddtjdgd dtjd gd dtjd gd dftdd tdd tddtdd tdd td dtd dffD]r\}}}}}}}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||qdS)Nrr.rQ 2012-12-24z 2012-12-21T11rFrUrZr2 rGSr[h]TrOHFrr;) rrRrrWrr3addrr5)rdtadtbdtcdtnatrrtdcrrrtest_datetime_add<sn       zTestDateTime.test_datetime_addc CsVtjdgddtjdgddtjdgddtjdgddtjdgddtjd gddtjd gd dtjd gd dtjdgd df tddtddtddtddtddtd dtd dtd dtddf fD]n\ }}}}}}}}} 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 |qdS)Nrr.rQrz 1940-12-24z 1940-12-24T00rFz 1940-12-23T13rUrZr2r rG=rr"TrOr#Frr;rr#) rrRrrWrr3subtractrr5) rr%r&r'dtdZdter(rrr)rrrtest_datetime_subtracts|           z#TestDateTime.test_datetime_subtractc Cs:tjdgddtjdgddtjdgddtjdgddftddtdd tdd tdd ffD] \}}}}t|d |t|d jtdtd ||td |jtdt|d |t|d jtdtd ||td |jtdtttj||tttj||tttj||tttj|d tttjd |tttj|d tttjd |qht }| t d td }dd}t t fD]&}|||d ||||d|qt dt dfD]6} |td| ||td| |||| |qWdn1s,0YdS)Nrr.rQrrGrirrr"rh?z%invalid value encountered in multiplyrUcSs t|||t|||dSNr)r~rrrrrchecksz2TestDateTime.test_datetime_multiply..checkrinfrrO)rrRrrWrr3rr5multiplyrfilterRuntimeWarningintfloat) rr%rrr)suprr2tprrrrtest_datetime_multiplysL        z#TestDateTime.test_datetime_multiplyz op1, op2, exprr%rrOrkrr$rib<rhrZ13r )rOrhrZr0rQ)rrOrOcCst|||dSr0r1)rop1op2exprrrtest_timedelta_floor_dividesz(TestDateTime.test_timedelta_floor_dividezfp errors don't work in wasm)reasonzop1, op2rr'rrU2rcCsLtt0||}t|dt|jtjWdn1s>0YdS)Nr)rr6rr3rr)rr>r?rrrr!test_timedelta_floor_div_warnings&s  z.TestDateTime.test_timedelta_floor_div_warningsz val1, val2)lrO)lrkcCs2t|}t|}||}||}t||dSr0)rrWr)rval1val2r>r?rrdrrr"test_timedelta_floor_div_precision9s  z/TestDateTime.test_timedelta_floor_div_precisionrZr"cCs6ttd||Wdn1s(0YdSNzcommon metadata divisorrr5rrErFrrrtest_timedelta_floor_div_errorJs z+TestDateTime.test_timedelta_floor_div_errorcCs$||||f}tt|||dSr0)rdivmod)rr>r?rdrrrtest_timedelta_divmodVsz"TestDateTime.test_timedelta_divmodzdoes not work in wasmcCsxtt ||||f}Wdn1s.0Yttt||}Wdn1s`0Yt||dSr0)rr6rLr)rr>r?rdrrrrtest_timedelta_divmod_warningsqs  . (z+TestDateTime.test_timedelta_divmod_warningsc Cstjdgddtjdgddtjdgddtjdgddtjdgddftdd tdd tdd tdd tdd ffD]H\}}}}}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|qt }| t dtd}t tfD]Z}ttd|d|ttd|d|t||d|t||d |qttdtdtdttdtdtdt|td|ttdtd|ttdtd|t|td|Wdn1s0YdS)Nrr.rQrrGrirzm8[m]rr"z[m]rhg?gUUUUUU?r/Zf8r=g?z.*encountered in dividerUrOrr3r)rrRrrWrr3divideZ true_dividerr5rr5r6r7r8) rr%rrr)Ztddr9rr:rrrtest_datetime_divides^         z!TestDateTime.test_datetime_dividecCstd}tjgddd}tt||gdtt||gdtt||gdtt||gdtt||gd tt ||gd dS) N2000-03-12T18:00:00.000000)rQz2000-03-12T17:59:59.999999z2000-03-12T18:00:00.000001z1970-01-11T12:00:00.909090z2016-01-11T12:00:00.909090zdatetime64[us]rQ)rOrrrr)rrOrOrOrO)rrrOrrO)rOrrOrrO)rrOrrOr)rOrOrrOr) rrrRrr not_equalr less_equalgreater greater_equalr}rrrtest_datetime_compares  z"TestDateTime.test_datetime_comparecCstdd}td}tdd}tdd}tjtjtjtjtjfD]d}t||| t||| t||| t||| t||| t||| qFtt ||tt ||tt ||tt ||tt ||tt ||dS)NrUr"rr#rO) rrrWrrrSrTrUrrR)rZdt_natZdt_otherZtd_natZtd_otheroprrrtest_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]rQz 1999-03-12T12r-r>rUrFrZrGi-*r1r:r;) rrRrminimumr3ZfminmaximumZfmaxrrr5)rr~rr(rrrtest_datetime_minmaxsL$$z!TestDateTime.test_datetime_minmaxcCs0tjddd}d|d<t|djdkdS)NrZr-rQi rr)rZonesritemhourrtrrr test_hours*szTestDateTime.test_hourscCsLttdtdkttdtdkttdtdkdS)NzM8[Y/4]zM8[3M]zM8[Y/13]zM8[4W]z M8[3Y/73]zM8[15D]rrIrrrtest_divisor_conversion_year/sz)TestDateTime.test_divisor_conversion_yearcCsLttdtdkttdtdkttdtdkdS)NzM8[M/2]zM8[2W]zM8[M/15]rz M8[3M/40]zM8[54h]rrIrrrtest_divisor_conversion_month4sz*TestDateTime.test_divisor_conversion_monthcCsLttdtdkttdtdkttdtdkdS)Nzm8[W/7]r2z m8[3W/14]zm8[36h]z m8[5W/140]zm8[360m]rrIrrrtest_divisor_conversion_week9sz)TestDateTime.test_divisor_conversion_weekcCsLttdtdkttdtdkttdtdkdS)NzM8[D/12]zM8[2h]z M8[D/120]zM8[12m]z M8[3D/960]zM8[270s]rrIrrrtest_divisor_conversion_day>sz(TestDateTime.test_divisor_conversion_daycCs4ttdtdkttdtdkdS)Nzm8[h/30]zm8[2m]z m8[3h/300]zm8[36s]rrIrrrtest_divisor_conversion_hourCsz)TestDateTime.test_divisor_conversion_hourcCs4ttdtdkttdtdkdS)Nzm8[m/30]zm8[2s]z m8[3m/300]z m8[600ms]rrIrrrtest_divisor_conversion_minuteGsz+TestDateTime.test_divisor_conversion_minutecCs4ttdtdkttdtdkdS)Nz m8[s/100]zm8[10ms]z m8[3s/10000]z m8[300us]rrIrrrtest_divisor_conversion_secondKsz+TestDateTime.test_divisor_conversion_secondcCs*ttdtdkttdddS)Nz M8[fs/100]zM8[10as]cSs tdS)Nz M8[3fs/10000]rr3rrrrrQz9TestDateTime.test_divisor_conversion_fs..)rrr3rrzrIrrrtest_divisor_conversion_fsOsz'TestDateTime.test_divisor_conversion_fscCsttdddS)NcSs tdS)Nz M8[as/10]rhrrrrrTriz9TestDateTime.test_divisor_conversion_as..)rrzrIrrrtest_divisor_conversion_asSsz'TestDateTime.test_divisor_conversion_asc Csd}ttdgtdtdgtdttdgtdtdgtdttdgtdtdgtdtjt|d :ttdgtdtd gtdWdn1s0Ytjt|d :ttdgtdtd gtdWdn1s*0Ytjt|d :ttd gtdtd gtdWdn1s0Ytjt|d :ttdgtdtdgtdWdn1s0Ytjt|d :ttdgtdtdgtdWdn1s80Ytjt|d &ttdtdWdn1s~0YdS)Nr z1980-02-29T01:02:03r-z1980-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:03rz+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)rrrRr3rrrrrrrrtest_string_parser_variantsVsN"$$$$ z(TestDateTime.test_string_parser_variantscCsd}tttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjd gtdtttjd gtdtttjd gtdtttjd gtdtttjd gtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjdgtdtttjd gtdtttjd!gtdtttjd"gtdtttjd#gtdtttjd$gtdtttjd%gtdtttjd&gtdtttjd'gtdtjt|d((tttjd)gtdWdn1s0Ytjt|d((tttjd*gtdWdn1s0Ytjt|d((tttjd+gtdWdn1sJ0Ytjt|d((tttjd,gtdWdn1s0Ytjt|d((tttjd-gtdWdn1s0YdS).Nr ZbadvaluerLZ1980Xz1980-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:60rz1980-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)rrzrrRr3rrrrrrrtest_string_parser_error_check|s              $ $ $ $ z+TestDateTime.test_string_parser_error_checkcCsd}tj|gdddtj}dD]>}|d9}tj|gd|d}t||dtjd|d q$t|dtjd tttd d Wdn1s0Yttt d d Wdn1s0YdS) Nz1980-03-23 20:00:00z datetime64[s]rQr)r&r'rr]zdatetime64[%s]z%Datetime conversion error for unit %s)err_msglm 1#lr") rrRrrrrraisesrrrW)rr|Z timestepsr6rrrrtest_creation_overflows * z#TestDateTime.test_creation_overflowcCsd}d}ttt|ddttt|ddttt|ddttt|dd ttt|d d ttt|d d ttt|dddD]}ttt||dqd}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)ttjd?d8d@gdAd:tdBttjdCd8dDgdEd:tdFdS)GNz 2011-11-10rO 2011-11-11rz 2011-11-14z 2011-11-04rz 2011-11-18rrU 2011-11-24 2011-10-10)rrr)rrr 2011-12-25r 2011-02-21r 2012-01-021111100rrz 2011-10-03rrrr#%rw'8;r}r+r=@B busdaycal 2012-01-03rkr<iriiiiiiiiiiiirrrrrrr)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)rrrrrrrzrrrrrr$test_datetime_busday_holidays_offsets                       z1TestDateTime.test_datetime_busday_holidays_offsetc Csgd}tjd|d}tjdtdd|d}ttjd||dtdttj|d|dtd d tjd td d|d}td}d |d <ttj|d |d|td d }d |d <ttjd ||d|tttjd dd|dtttjd d||dttjdddddttjdddddtd}|d }|d}|d}tt||d tt||d tt||d tt||d dS)N) 2011-01-01rrrrrrrrrrr 2011-07-01 2011-07-04 2011-09-05rrrrinr)rrrrOz 2011-12-31rrrz 2012-02-03rrz2011-03z2011-04rrrr<z 2023-03-05rr) rrrr`rZ busday_countrrzr) rrrdatesrdZsundayZmondayZfridayZsaturdayrrr#test_datetime_busday_holidays_count( sP    z0TestDateTime.test_datetime_busday_holidays_countcCslgd}tjd|d}ttddttddttddttj||d tjt|d d dS) N)rrrrrrrrrrrrrrrrrUrrrFz 2011-01-02z 2011-01-03TrrrQ)rrrZ is_busdayzerosrrrrrtest_datetime_is_busday^ sz$TestDateTime.test_datetime_is_busdaycCsd}td}t|tjdtd}t|tjdtjt|d,td}t|tjdWdn1s|0Ytjt|d,td}t|tjdWdn1s0Ytd }tt|d dS) Nr 2038-01-19T03:14:07iz2038-01-19T03:14:08lrz2038-01-19T04:14:07+0100z2038-01-19T04:14:08+0100z2038-01-20T13:21:14) rrrrrrrrr4)rrr~rrrtest_datetime_y2038o s   0 0 z TestDateTime.test_datetime_y2038cCs$tttddtttddtttd tttddtttdd tgd}dD]}tjgdd |d }tt||tjgdd |d }tt||tjgdd |d }tt||tjgdd |d }tt||qdS)NrUr&rr"FFT rr r!r"r#r$r%r&r'rr)r*r+rirUdatetime64[%s]timedelta64[%s])rrisnatrrWrRr)rrr6rerrr test_isnat szTestDateTime.test_isnatcCs:tjdD]*}|tjdvrq tttjtd|q dS)NZAllZDatetimer)r typecodesrr5rrr^rrrtest_isnat_error szTestDateTime.test_isnat_errorcCsvtttdd tttdd tttdtttdd tttdddS)NrUr&rrr)rrisfiniterrWrIrrrtest_isfinite_scalar 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 rrQ)TTFr)FFFN)rrRrrisinfisnan)rr6rZarr_valreposnegfalserrrtest_isfinite_isinf_isnan_units sz,TestDateTime.test_isfinite_isinf_isnan_unitscCsttttdtddS)Nr)rAssertionErrorrrrrWrIrrrtest_assert_equal szTestDateTime.test_assert_equalcCsRgg}}||||tdg}||d<tt|jdtt|jddS)Nrr,r0)appendrrRrrzr)rr~rZobj_arrrrrtest_corecursive_input s    z#TestDateTime.test_corecursive_inputrr)rOcCstjdtd|}tjddd|}|jtdks (FK8                                    A;&Uj ')                         #           =")6    r c@s$eZdZddZddZddZdS)TestDateTimeDatacCs(tjdgtjd}tt|jddS)Nz 1980-03-23rQ)r"rO)rrRrr datetime_datar3rrrr test_basic szTestDateTimeData.test_basiccCsDtdd}t|jdks Jtdd}t|jdks@JdS)NrV)smsr)r&rs5msrrrr3rrrr test_bytes s  zTestDateTimeData.test_bytescCsDtdd}t|jdks Jtdd}t|jdks@JdS)NrV)r(r)r'ru5μsrrrrrtest_non_ascii s  zTestDateTimeData.test_non_asciiN)rrrrrrrrrrr srcCsGddd}|}tdd}||}||fD]p}||tusFJ||tusXJ||tusjJ||tus|J||tusJ||tus0Jq0dS)Nc@seZdZdZdS)z7test_comparisons_return_not_implemented..customi'N)rrrZ__array_priority__rrrrcustom srrVr) rr__eq__NotImplemented__ne____le____lt____ge____gt__)robjrtdr\rrr'test_comparisons_return_not_implemented s  r)r{rrr rZ numpy.testingrrrrrrrr Zpytzr rtr ImportErrorRecursionError NameError RuntimeErrorr rrrrrrsH(     t