times.html 468 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <!-- This file is generated by Nim. -->
  4. <html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <title>std/times</title>
  9. <!-- Google fonts -->
  10. <link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
  11. <link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
  12. <!-- Favicon -->
  13. <link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
  14. <link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
  15. <!-- CSS -->
  16. <link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
  17. <!-- JS -->
  18. <script type="text/javascript" src="dochack.js?v=2.3.1"></script>
  19. </head>
  20. <body>
  21. <div class="document" id="documentId">
  22. <div class="container">
  23. <h1 class="title">std/times</h1>
  24. <div class="row">
  25. <div class="three columns">
  26. <div class="theme-select-wrapper">
  27. <label for="theme-select">Theme:&nbsp;</label>
  28. <select id="theme-select" onchange="setTheme(this.value)">
  29. <option value="auto">🌗 Match OS</option>
  30. <option value="dark">🌑 Dark</option>
  31. <option value="light">🌕 Light</option>
  32. </select>
  33. </div>
  34. <div id="global-links">
  35. <ul class="simple-boot">
  36. <li><a href="manual.html">Manual</a></li>
  37. <li><a href="lib.html">Standard library</a></li>
  38. <li> <a id="indexLink" href="theindex.html">Index</a></li>
  39. <li><a href="compiler/theindex.html">Compiler docs</a></li>
  40. <li><a href="https://nim-lang.github.io/fusion/theindex.html">Fusion docs</a></li>
  41. <li><a href="https://nim-lang.github.io/Nim/">devel</a>, <a href="https://nim-lang.org/documentation.html">stable</a></li>
  42. </ul>
  43. </div>
  44. <div id="searchInputDiv">
  45. Search: <input type="search" id="searchInput"
  46. oninput="search()" />
  47. </div>
  48. <ul class="simple simple-toc" id="toc-list">
  49. <li><a class="reference" id="examples_toc" href="#examples">Examples</a></li>
  50. <li><a class="reference" id="parsing-and-formatting-dates_toc" href="#parsing-and-formatting-dates">Parsing and Formatting Dates</a></li>
  51. <li><a class="reference" id="duration-vs-timeinterval_toc" href="#duration-vs-timeinterval">Duration vs TimeInterval</a></li>
  52. <ul class="simple"><li><a class="reference" id="duration-vs-timeinterval-duration_toc" href="#duration-vs-timeinterval-duration">Duration</a></li>
  53. <li><a class="reference" id="duration-vs-timeinterval-timeinterval_toc" href="#duration-vs-timeinterval-timeinterval">TimeInterval</a></li>
  54. <li><a class="reference" id="duration-vs-timeinterval-how-long-is-a-dayqmark_toc" href="#duration-vs-timeinterval-how-long-is-a-dayqmark">How long is a day?</a></li>
  55. </ul><li><a class="reference" id="see-also_toc" href="#see-also">See also</a></li>
  56. <li>
  57. <a class="reference reference-toplevel" href="#6" id="56">Imports</a>
  58. </li>
  59. <li>
  60. <details open>
  61. <summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
  62. <ul class="simple simple-toc-section">
  63. <li><a class="reference" href="#DateTime" title="DateTime = object of RootObj">DateTime</a></li>
  64. <li><a class="reference" href="#DateTimeLocale" title="DateTimeLocale = object
  65. MMM*: array[mJan .. mDec, string]
  66. MMMM*: array[mJan .. mDec, string]
  67. ddd*: array[dMon .. dSun, string]
  68. dddd*: array[dMon .. dSun, string]">DateTimeLocale</a></li>
  69. <li><a class="reference" href="#Duration" title="Duration = object">Duration</a></li>
  70. <li><a class="reference" href="#DurationParts" title="DurationParts = array[FixedTimeUnit, int64]">DurationParts</a></li>
  71. <li><a class="reference" href="#FixedTimeUnit" title="FixedTimeUnit = range[Nanoseconds .. Weeks]">FixedTimeUnit</a></li>
  72. <li><a class="reference" href="#HourRange" title="HourRange = range[0 .. 23]">HourRange</a></li>
  73. <li><a class="reference" href="#IsoWeekRange" title="IsoWeekRange = range[1 .. 53]">IsoWeekRange</a></li>
  74. <li><a class="reference" href="#IsoYear" title="IsoYear = distinct int">IsoYear</a></li>
  75. <li><a class="reference" href="#MinuteRange" title="MinuteRange = range[0 .. 59]">MinuteRange</a></li>
  76. <li><a class="reference" href="#Month" title="Month = enum
  77. mJan = (1, &quot;January&quot;), mFeb = &quot;February&quot;, mMar = &quot;March&quot;, mApr = &quot;April&quot;,
  78. mMay = &quot;May&quot;, mJun = &quot;June&quot;, mJul = &quot;July&quot;, mAug = &quot;August&quot;,
  79. mSep = &quot;September&quot;, mOct = &quot;October&quot;, mNov = &quot;November&quot;, mDec = &quot;December&quot;">Month</a></li>
  80. <li><a class="reference" href="#MonthdayRange" title="MonthdayRange = range[1 .. 31]">MonthdayRange</a></li>
  81. <li><a class="reference" href="#NanosecondRange" title="NanosecondRange = range[0 .. 999999999]">NanosecondRange</a></li>
  82. <li><a class="reference" href="#SecondRange" title="SecondRange = range[0 .. 60]">SecondRange</a></li>
  83. <li><a class="reference" href="#Time" title="Time = object">Time</a></li>
  84. <li><a class="reference" href="#TimeFormat" title="TimeFormat = object
  85. ## \
  86. ## Contains the patterns encoded as bytes.
  87. ## Literal values are encoded in a special way.
  88. ## They start with `Lit.byte`, then the length of the literal, then the
  89. ## raw char values of the literal. For example, the literal `foo` would
  90. ## be encoded as `@[Lit.byte, 3.byte, 'f'.byte, 'o'.byte, 'o'.byte]`.">TimeFormat</a></li>
  91. <li><a class="reference" href="#TimeFormatParseError" title="TimeFormatParseError = object of ValueError">TimeFormatParseError</a></li>
  92. <li><a class="reference" href="#TimeInterval" title="TimeInterval = object
  93. nanoseconds*: int ## The number of nanoseconds
  94. microseconds*: int ## The number of microseconds
  95. milliseconds*: int ## The number of milliseconds
  96. seconds*: int ## The number of seconds
  97. minutes*: int ## The number of minutes
  98. hours*: int ## The number of hours
  99. days*: int ## The number of days
  100. weeks*: int ## The number of weeks
  101. months*: int ## The number of months
  102. years*: int ## The number of years">TimeInterval</a></li>
  103. <li><a class="reference" href="#TimeIntervalParts" title="TimeIntervalParts = array[TimeUnit, int]">TimeIntervalParts</a></li>
  104. <li><a class="reference" href="#TimeParseError" title="TimeParseError = object of ValueError">TimeParseError</a></li>
  105. <li><a class="reference" href="#TimeUnit" title="TimeUnit = enum
  106. Nanoseconds, Microseconds, Milliseconds, Seconds, Minutes, Hours, Days, Weeks,
  107. Months, Years">TimeUnit</a></li>
  108. <li><a class="reference" href="#Timezone" title="Timezone = ref object">Timezone</a></li>
  109. <li><a class="reference" href="#WeekDay" title="WeekDay = enum
  110. dMon = &quot;Monday&quot;, dTue = &quot;Tuesday&quot;, dWed = &quot;Wednesday&quot;, dThu = &quot;Thursday&quot;,
  111. dFri = &quot;Friday&quot;, dSat = &quot;Saturday&quot;, dSun = &quot;Sunday&quot;">WeekDay</a></li>
  112. <li><a class="reference" href="#YeardayRange" title="YeardayRange = range[0 .. 365]">YeardayRange</a></li>
  113. <li><a class="reference" href="#ZonedTime" title="ZonedTime = object
  114. time*: Time ## The point in time being represented.
  115. utcOffset*: int ## The offset in seconds west of UTC,
  116. ## including any offset due to DST.
  117. isDst*: bool ## Determines whether DST is in effect.">ZonedTime</a></li>
  118. </ul>
  119. </details>
  120. </li>
  121. <li>
  122. <details open>
  123. <summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
  124. <ul class="simple simple-toc-section">
  125. <li><a class="reference" href="#DefaultLocale" title="DefaultLocale = (MMM: [&quot;Jan&quot;, &quot;Feb&quot;, &quot;Mar&quot;, &quot;Apr&quot;, &quot;May&quot;, &quot;Jun&quot;, &quot;Jul&quot;, &quot;Aug&quot;,
  126. &quot;Sep&quot;, &quot;Oct&quot;, &quot;Nov&quot;, &quot;Dec&quot;], MMMM: [&quot;January&quot;,
  127. &quot;February&quot;, &quot;March&quot;, &quot;April&quot;, &quot;May&quot;, &quot;June&quot;, &quot;July&quot;, &quot;August&quot;, &quot;September&quot;,
  128. &quot;October&quot;, &quot;November&quot;, &quot;December&quot;],
  129. ddd: [&quot;Mon&quot;, &quot;Tue&quot;, &quot;Wed&quot;, &quot;Thu&quot;, &quot;Fri&quot;, &quot;Sat&quot;, &quot;Sun&quot;], dddd: [
  130. &quot;Monday&quot;, &quot;Tuesday&quot;, &quot;Wednesday&quot;, &quot;Thursday&quot;, &quot;Friday&quot;, &quot;Saturday&quot;, &quot;Sunday&quot;])">DefaultLocale</a></li>
  131. <li><a class="reference" href="#DurationZero" title="DurationZero = (seconds: 0, nanosecond: 0)">DurationZero</a></li>
  132. </ul>
  133. </details>
  134. </li>
  135. <li>
  136. <details open>
  137. <summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
  138. <ul class="simple simple-toc-section">
  139. <ul class="simple nested-toc-section">$
  140. <li><a class="reference" href="#%24%2CDateTime" title="`$`(dt: DateTime): string">`$`(dt: DateTime): string</a></li>
  141. <li><a class="reference" href="#%24%2CDuration" title="`$`(dur: Duration): string">`$`(dur: Duration): string</a></li>
  142. <li><a class="reference" href="#%24%2CTimeFormat" title="`$`(f: TimeFormat): string">`$`(f: TimeFormat): string</a></li>
  143. <li><a class="reference" href="#%24%2CIsoYear" title="`$`(p: IsoYear): string">`$`(p: IsoYear): string</a></li>
  144. <li><a class="reference" href="#%24%2CTimeInterval" title="`$`(ti: TimeInterval): string">`$`(ti: TimeInterval): string</a></li>
  145. <li><a class="reference" href="#%24%2CTime" title="`$`(time: Time): string">`$`(time: Time): string</a></li>
  146. <li><a class="reference" href="#%24%2CTimezone" title="`$`(zone: Timezone): string">`$`(zone: Timezone): string</a></li>
  147. </ul>
  148. <ul class="simple nested-toc-section">*
  149. <li><a class="reference" href="#%2A%2CDuration%2Cint64" title="`*`(a: Duration; b: int64): Duration">`*`(a: Duration; b: int64): Duration</a></li>
  150. <li><a class="reference" href="#%2A%2Cint64%2CDuration" title="`*`(a: int64; b: Duration): Duration">`*`(a: int64; b: Duration): Duration</a></li>
  151. </ul>
  152. <ul class="simple nested-toc-section">*=
  153. <li><a class="reference" href="#%2A%3D%2CDuration%2Cint" title="`*=`(a: var Duration; b: int)">`*=`(a: var Duration; b: int)</a></li>
  154. </ul>
  155. <ul class="simple nested-toc-section">+
  156. <li><a class="reference" href="#%2B%2CDuration%2CDuration" title="`+`(a, b: Duration): Duration">`+`(a, b: Duration): Duration</a></li>
  157. <li><a class="reference" href="#%2B%2CTime%2CDuration" title="`+`(a: Time; b: Duration): Time">`+`(a: Time; b: Duration): Time</a></li>
  158. <li><a class="reference" href="#%2B%2CDateTime%2CDuration" title="`+`(dt: DateTime; dur: Duration): DateTime">`+`(dt: DateTime; dur: Duration): DateTime</a></li>
  159. <li><a class="reference" href="#%2B%2CDateTime%2CTimeInterval" title="`+`(dt: DateTime; interval: TimeInterval): DateTime">`+`(dt: DateTime; interval: TimeInterval): DateTime</a></li>
  160. <li><a class="reference" href="#%2B%2CTimeInterval%2CTimeInterval" title="`+`(ti1, ti2: TimeInterval): TimeInterval">`+`(ti1, ti2: TimeInterval): TimeInterval</a></li>
  161. <li><a class="reference" href="#%2B%2CTime%2CTimeInterval" title="`+`(time: Time; interval: TimeInterval): Time">`+`(time: Time; interval: TimeInterval): Time</a></li>
  162. </ul>
  163. <ul class="simple nested-toc-section">+=
  164. <li><a class="reference" href="#%2B%3D%2CDateTime%2CDuration" title="`+=`(a: var DateTime; b: Duration)">`+=`(a: var DateTime; b: Duration)</a></li>
  165. <li><a class="reference" href="#%2B%3D%2CDateTime%2CTimeInterval" title="`+=`(a: var DateTime; b: TimeInterval)">`+=`(a: var DateTime; b: TimeInterval)</a></li>
  166. <li><a class="reference" href="#%2B%3D%2CTimeInterval%2CTimeInterval" title="`+=`(a: var TimeInterval; b: TimeInterval)">`+=`(a: var TimeInterval; b: TimeInterval)</a></li>
  167. <li><a class="reference" href="#%2B%3D%2CDuration%2CDuration" title="`+=`(d1: var Duration; d2: Duration)">`+=`(d1: var Duration; d2: Duration)</a></li>
  168. <li><a class="reference" href="#%2B%3D%2CTime%2CDuration" title="`+=`(t: var Time; b: Duration)">`+=`(t: var Time; b: Duration)</a></li>
  169. <li><a class="reference" href="#%2B%3D%2CTime%2CTimeInterval" title="`+=`(t: var Time; b: TimeInterval)">`+=`(t: var Time; b: TimeInterval)</a></li>
  170. </ul>
  171. <ul class="simple nested-toc-section">-
  172. <li><a class="reference" href="#-%2CDuration%2CDuration" title="`-`(a, b: Duration): Duration">`-`(a, b: Duration): Duration</a></li>
  173. <li><a class="reference" href="#-%2CTime%2CTime" title="`-`(a, b: Time): Duration">`-`(a, b: Time): Duration</a></li>
  174. <li><a class="reference" href="#-%2CDuration" title="`-`(a: Duration): Duration">`-`(a: Duration): Duration</a></li>
  175. <li><a class="reference" href="#-%2CTime%2CDuration" title="`-`(a: Time; b: Duration): Time">`-`(a: Time; b: Duration): Time</a></li>
  176. <li><a class="reference" href="#-%2CDateTime%2CDateTime" title="`-`(dt1, dt2: DateTime): Duration">`-`(dt1, dt2: DateTime): Duration</a></li>
  177. <li><a class="reference" href="#-%2CDateTime%2CDuration" title="`-`(dt: DateTime; dur: Duration): DateTime">`-`(dt: DateTime; dur: Duration): DateTime</a></li>
  178. <li><a class="reference" href="#-%2CDateTime%2CTimeInterval" title="`-`(dt: DateTime; interval: TimeInterval): DateTime">`-`(dt: DateTime; interval: TimeInterval): DateTime</a></li>
  179. <li><a class="reference" href="#-%2CTimeInterval%2CTimeInterval" title="`-`(ti1, ti2: TimeInterval): TimeInterval">`-`(ti1, ti2: TimeInterval): TimeInterval</a></li>
  180. <li><a class="reference" href="#-%2CTimeInterval" title="`-`(ti: TimeInterval): TimeInterval">`-`(ti: TimeInterval): TimeInterval</a></li>
  181. <li><a class="reference" href="#-%2CTime%2CTimeInterval" title="`-`(time: Time; interval: TimeInterval): Time">`-`(time: Time; interval: TimeInterval): Time</a></li>
  182. </ul>
  183. <ul class="simple nested-toc-section">-=
  184. <li><a class="reference" href="#-%3D%2CDateTime%2CDuration" title="`-=`(a: var DateTime; b: Duration)">`-=`(a: var DateTime; b: Duration)</a></li>
  185. <li><a class="reference" href="#-%3D%2CDateTime%2CTimeInterval" title="`-=`(a: var DateTime; b: TimeInterval)">`-=`(a: var DateTime; b: TimeInterval)</a></li>
  186. <li><a class="reference" href="#-%3D%2CTimeInterval%2CTimeInterval" title="`-=`(a: var TimeInterval; b: TimeInterval)">`-=`(a: var TimeInterval; b: TimeInterval)</a></li>
  187. <li><a class="reference" href="#-%3D%2CDuration%2CDuration" title="`-=`(dt: var Duration; ti: Duration)">`-=`(dt: var Duration; ti: Duration)</a></li>
  188. <li><a class="reference" href="#-%3D%2CTime%2CDuration" title="`-=`(t: var Time; b: Duration)">`-=`(t: var Time; b: Duration)</a></li>
  189. <li><a class="reference" href="#-%3D%2CTime%2CTimeInterval" title="`-=`(t: var Time; b: TimeInterval)">`-=`(t: var Time; b: TimeInterval)</a></li>
  190. </ul>
  191. <ul class="simple nested-toc-section"><
  192. <li><a class="reference" href="#%3C%2CDateTime%2CDateTime" title="`&lt;`(a, b: DateTime): bool">`&lt;`(a, b: DateTime): bool</a></li>
  193. <li><a class="reference" href="#%3C%2CDuration%2CDuration" title="`&lt;`(a, b: Duration): bool">`&lt;`(a, b: Duration): bool</a></li>
  194. <li><a class="reference" href="#%3C%2CTime%2CTime" title="`&lt;`(a, b: Time): bool">`&lt;`(a, b: Time): bool</a></li>
  195. </ul>
  196. <ul class="simple nested-toc-section"><=
  197. <li><a class="reference" href="#%3C%3D%2CDateTime%2CDateTime" title="`&lt;=`(a, b: DateTime): bool">`&lt;=`(a, b: DateTime): bool</a></li>
  198. <li><a class="reference" href="#%3C%3D%2CDuration%2CDuration" title="`&lt;=`(a, b: Duration): bool">`&lt;=`(a, b: Duration): bool</a></li>
  199. <li><a class="reference" href="#%3C%3D%2CTime%2CTime" title="`&lt;=`(a, b: Time): bool">`&lt;=`(a, b: Time): bool</a></li>
  200. </ul>
  201. <ul class="simple nested-toc-section">==
  202. <li><a class="reference" href="#%3D%3D%2CDateTime%2CDateTime" title="`==`(a, b: DateTime): bool">`==`(a, b: DateTime): bool</a></li>
  203. <li><a class="reference" href="#%3D%3D%2CDuration%2CDuration" title="`==`(a, b: Duration): bool">`==`(a, b: Duration): bool</a></li>
  204. <li><a class="reference" href="#%3D%3D%2CIsoYear%2CIsoYear" title="`==`(a, b: IsoYear): bool">`==`(a, b: IsoYear): bool</a></li>
  205. <li><a class="reference" href="#%3D%3D%2CTime%2CTime" title="`==`(a, b: Time): bool">`==`(a, b: Time): bool</a></li>
  206. <li><a class="reference" href="#%3D%3D%2CTimezone%2CTimezone" title="`==`(zone1, zone2: Timezone): bool">`==`(zone1, zone2: Timezone): bool</a></li>
  207. </ul>
  208. <ul class="simple nested-toc-section">abs
  209. <li><a class="reference" href="#abs%2CDuration" title="abs(a: Duration): Duration">abs(a: Duration): Duration</a></li>
  210. </ul>
  211. <ul class="simple nested-toc-section">between
  212. <li><a class="reference" href="#between%2CDateTime%2CDateTime" title="between(startDt, endDt: DateTime): TimeInterval">between(startDt, endDt: DateTime): TimeInterval</a></li>
  213. </ul>
  214. <ul class="simple nested-toc-section">convert
  215. <li><a class="reference" href="#convert%2CFixedTimeUnit%2CFixedTimeUnit%2CT" title="convert[T: SomeInteger](unitFrom, unitTo: FixedTimeUnit; quantity: T): T">convert[T: SomeInteger](unitFrom, unitTo: FixedTimeUnit; quantity: T): T</a></li>
  216. </ul>
  217. <ul class="simple nested-toc-section">cpuTime
  218. <li><a class="reference" href="#cpuTime" title="cpuTime(): float">cpuTime(): float</a></li>
  219. </ul>
  220. <ul class="simple nested-toc-section">dateTime
  221. <li><a class="reference" href="#dateTime%2Cint%2CMonth%2CMonthdayRange%2CHourRange%2CMinuteRange%2CSecondRange%2CNanosecondRange%2CTimezone" title="dateTime(year: int; month: Month; monthday: MonthdayRange; hour: HourRange = 0;
  222. minute: MinuteRange = 0; second: SecondRange = 0;
  223. nanosecond: NanosecondRange = 0; zone: Timezone = local()): DateTime">dateTime(year: int; month: Month; monthday: MonthdayRange; hour: HourRange = 0;
  224. minute: MinuteRange = 0; second: SecondRange = 0;
  225. nanosecond: NanosecondRange = 0; zone: Timezone = local()): DateTime</a></li>
  226. </ul>
  227. <ul class="simple nested-toc-section">days
  228. <li><a class="reference" href="#days%2Cint" title="days(d: int): TimeInterval">days(d: int): TimeInterval</a></li>
  229. </ul>
  230. <ul class="simple nested-toc-section">div
  231. <li><a class="reference" href="#div%2CDuration%2Cint64" title="`div`(a: Duration; b: int64): Duration">`div`(a: Duration; b: int64): Duration</a></li>
  232. </ul>
  233. <ul class="simple nested-toc-section">epochTime
  234. <li><a class="reference" href="#epochTime" title="epochTime(): float">epochTime(): float</a></li>
  235. </ul>
  236. <ul class="simple nested-toc-section">format
  237. <li><a class="reference" href="#format%2CDateTime%2Cstatic%5Bstring%5D" title="format(dt: DateTime; f: static[string]): string">format(dt: DateTime; f: static[string]): string</a></li>
  238. <li><a class="reference" href="#format%2CDateTime%2Cstring%2CDateTimeLocale" title="format(dt: DateTime; f: string; loc: DateTimeLocale = DefaultLocale): string">format(dt: DateTime; f: string; loc: DateTimeLocale = DefaultLocale): string</a></li>
  239. <li><a class="reference" href="#format%2CDateTime%2CTimeFormat%2CDateTimeLocale" title="format(dt: DateTime; f: TimeFormat; loc: DateTimeLocale = DefaultLocale): string">format(dt: DateTime; f: TimeFormat; loc: DateTimeLocale = DefaultLocale): string</a></li>
  240. <li><a class="reference" href="#format%2CTime%2Cstatic%5Bstring%5D%2CTimezone" title="format(time: Time; f: static[string]; zone: Timezone = local()): string">format(time: Time; f: static[string]; zone: Timezone = local()): string</a></li>
  241. <li><a class="reference" href="#format%2CTime%2Cstring%2CTimezone" title="format(time: Time; f: string; zone: Timezone = local()): string">format(time: Time; f: string; zone: Timezone = local()): string</a></li>
  242. </ul>
  243. <ul class="simple nested-toc-section">formatValue
  244. <li><a class="reference" href="#formatValue%2Cstring%2C%2Cstring" title="formatValue(result: var string; value: DateTime | Time; specifier: string)">formatValue(result: var string; value: DateTime | Time; specifier: string)</a></li>
  245. </ul>
  246. <ul class="simple nested-toc-section">fromUnix
  247. <li><a class="reference" href="#fromUnix%2Cint64" title="fromUnix(unix: int64): Time">fromUnix(unix: int64): Time</a></li>
  248. </ul>
  249. <ul class="simple nested-toc-section">fromUnixFloat
  250. <li><a class="reference" href="#fromUnixFloat%2Cfloat" title="fromUnixFloat(seconds: float): Time">fromUnixFloat(seconds: float): Time</a></li>
  251. </ul>
  252. <ul class="simple nested-toc-section">fromWinTime
  253. <li><a class="reference" href="#fromWinTime%2Cint64" title="fromWinTime(win: int64): Time">fromWinTime(win: int64): Time</a></li>
  254. </ul>
  255. <ul class="simple nested-toc-section">getClockStr
  256. <li><a class="reference" href="#getClockStr" title="getClockStr(dt = now()): string">getClockStr(dt = now()): string</a></li>
  257. </ul>
  258. <ul class="simple nested-toc-section">getDateStr
  259. <li><a class="reference" href="#getDateStr" title="getDateStr(dt = now()): string">getDateStr(dt = now()): string</a></li>
  260. </ul>
  261. <ul class="simple nested-toc-section">getDayOfWeek
  262. <li><a class="reference" href="#getDayOfWeek%2CMonthdayRange%2CMonth%2Cint" title="getDayOfWeek(monthday: MonthdayRange; month: Month; year: int): WeekDay">getDayOfWeek(monthday: MonthdayRange; month: Month; year: int): WeekDay</a></li>
  263. </ul>
  264. <ul class="simple nested-toc-section">getDayOfYear
  265. <li><a class="reference" href="#getDayOfYear%2CMonthdayRange%2CMonth%2Cint" title="getDayOfYear(monthday: MonthdayRange; month: Month; year: int): YeardayRange">getDayOfYear(monthday: MonthdayRange; month: Month; year: int): YeardayRange</a></li>
  266. </ul>
  267. <ul class="simple nested-toc-section">getDaysInMonth
  268. <li><a class="reference" href="#getDaysInMonth%2CMonth%2Cint" title="getDaysInMonth(month: Month; year: int): int">getDaysInMonth(month: Month; year: int): int</a></li>
  269. </ul>
  270. <ul class="simple nested-toc-section">getDaysInYear
  271. <li><a class="reference" href="#getDaysInYear%2Cint" title="getDaysInYear(year: int): int">getDaysInYear(year: int): int</a></li>
  272. </ul>
  273. <ul class="simple nested-toc-section">getIsoWeekAndYear
  274. <li><a class="reference" href="#getIsoWeekAndYear%2CDateTime" title="getIsoWeekAndYear(dt: DateTime): tuple[isoweek: IsoWeekRange, isoyear: IsoYear]">getIsoWeekAndYear(dt: DateTime): tuple[isoweek: IsoWeekRange, isoyear: IsoYear]</a></li>
  275. </ul>
  276. <ul class="simple nested-toc-section">getTime
  277. <li><a class="reference" href="#getTime" title="getTime(): Time">getTime(): Time</a></li>
  278. </ul>
  279. <ul class="simple nested-toc-section">getWeeksInIsoYear
  280. <li><a class="reference" href="#getWeeksInIsoYear%2CIsoYear" title="getWeeksInIsoYear(y: IsoYear): IsoWeekRange">getWeeksInIsoYear(y: IsoYear): IsoWeekRange</a></li>
  281. </ul>
  282. <ul class="simple nested-toc-section">high
  283. <li><a class="reference" href="#high%2Ctypedesc%5BDuration%5D" title="high(typ: typedesc[Duration]): Duration">high(typ: typedesc[Duration]): Duration</a></li>
  284. <li><a class="reference" href="#high%2Ctypedesc%5BTime%5D" title="high(typ: typedesc[Time]): Time">high(typ: typedesc[Time]): Time</a></li>
  285. </ul>
  286. <ul class="simple nested-toc-section">hour
  287. <li><a class="reference" href="#hour%2CDateTime" title="hour(dt: DateTime): HourRange">hour(dt: DateTime): HourRange</a></li>
  288. </ul>
  289. <ul class="simple nested-toc-section">hour=
  290. <li><a class="reference" href="#hour%3D%2CDateTime%2CHourRange" title="hour=(dt: var DateTime; value: HourRange)">hour=(dt: var DateTime; value: HourRange)</a></li>
  291. </ul>
  292. <ul class="simple nested-toc-section">hours
  293. <li><a class="reference" href="#hours%2Cint" title="hours(h: int): TimeInterval">hours(h: int): TimeInterval</a></li>
  294. </ul>
  295. <ul class="simple nested-toc-section">inDays
  296. <li><a class="reference" href="#inDays%2CDuration" title="inDays(dur: Duration): int64">inDays(dur: Duration): int64</a></li>
  297. </ul>
  298. <ul class="simple nested-toc-section">inHours
  299. <li><a class="reference" href="#inHours%2CDuration" title="inHours(dur: Duration): int64">inHours(dur: Duration): int64</a></li>
  300. </ul>
  301. <ul class="simple nested-toc-section">initDateTime
  302. <li><a class="reference" href="#initDateTime%2CMonthdayRange%2CMonth%2Cint%2CHourRange%2CMinuteRange%2CSecondRange%2CNanosecondRange%2CTimezone" title="initDateTime(monthday: MonthdayRange; month: Month; year: int; hour: HourRange;
  303. minute: MinuteRange; second: SecondRange;
  304. nanosecond: NanosecondRange; zone: Timezone = local()): DateTime">initDateTime(monthday: MonthdayRange; month: Month; year: int; hour: HourRange;
  305. minute: MinuteRange; second: SecondRange;
  306. nanosecond: NanosecondRange; zone: Timezone = local()): DateTime</a></li>
  307. <li><a class="reference" href="#initDateTime%2CMonthdayRange%2CMonth%2Cint%2CHourRange%2CMinuteRange%2CSecondRange%2CTimezone" title="initDateTime(monthday: MonthdayRange; month: Month; year: int; hour: HourRange;
  308. minute: MinuteRange; second: SecondRange; zone: Timezone = local()): DateTime">initDateTime(monthday: MonthdayRange; month: Month; year: int; hour: HourRange;
  309. minute: MinuteRange; second: SecondRange; zone: Timezone = local()): DateTime</a></li>
  310. <li><a class="reference" href="#initDateTime%2CWeekDay%2CIsoWeekRange%2CIsoYear%2CHourRange%2CMinuteRange%2CSecondRange%2CNanosecondRange%2CTimezone" title="initDateTime(weekday: WeekDay; isoweek: IsoWeekRange; isoyear: IsoYear;
  311. hour: HourRange; minute: MinuteRange; second: SecondRange;
  312. nanosecond: NanosecondRange; zone: Timezone = local()): DateTime">initDateTime(weekday: WeekDay; isoweek: IsoWeekRange; isoyear: IsoYear;
  313. hour: HourRange; minute: MinuteRange; second: SecondRange;
  314. nanosecond: NanosecondRange; zone: Timezone = local()): DateTime</a></li>
  315. <li><a class="reference" href="#initDateTime%2CWeekDay%2CIsoWeekRange%2CIsoYear%2CHourRange%2CMinuteRange%2CSecondRange%2CTimezone" title="initDateTime(weekday: WeekDay; isoweek: IsoWeekRange; isoyear: IsoYear;
  316. hour: HourRange; minute: MinuteRange; second: SecondRange;
  317. zone: Timezone = local()): DateTime">initDateTime(weekday: WeekDay; isoweek: IsoWeekRange; isoyear: IsoYear;
  318. hour: HourRange; minute: MinuteRange; second: SecondRange;
  319. zone: Timezone = local()): DateTime</a></li>
  320. </ul>
  321. <ul class="simple nested-toc-section">initDuration
  322. <li><a class="reference" href="#initDuration%2Cint64%2Cint64%2Cint64%2Cint64%2Cint64%2Cint64%2Cint64%2Cint64" title="initDuration(nanoseconds, microseconds, milliseconds, seconds, minutes, hours,
  323. days, weeks: int64 = 0): Duration">initDuration(nanoseconds, microseconds, milliseconds, seconds, minutes, hours,
  324. days, weeks: int64 = 0): Duration</a></li>
  325. </ul>
  326. <ul class="simple nested-toc-section">initTime
  327. <li><a class="reference" href="#initTime%2Cint64%2CNanosecondRange" title="initTime(unix: int64; nanosecond: NanosecondRange): Time">initTime(unix: int64; nanosecond: NanosecondRange): Time</a></li>
  328. </ul>
  329. <ul class="simple nested-toc-section">initTimeFormat
  330. <li><a class="reference" href="#initTimeFormat%2Cstring" title="initTimeFormat(format: string): TimeFormat">initTimeFormat(format: string): TimeFormat</a></li>
  331. </ul>
  332. <ul class="simple nested-toc-section">initTimeInterval
  333. <li><a class="reference" href="#initTimeInterval%2Cint%2Cint%2Cint%2Cint%2Cint%2Cint%2Cint%2Cint%2Cint%2Cint" title="initTimeInterval(nanoseconds = 0; microseconds = 0; milliseconds = 0;
  334. seconds = 0; minutes = 0; hours = 0; days = 0; weeks = 0;
  335. months = 0; years = 0): TimeInterval">initTimeInterval(nanoseconds = 0; microseconds = 0; milliseconds = 0;
  336. seconds = 0; minutes = 0; hours = 0; days = 0; weeks = 0;
  337. months = 0; years = 0): TimeInterval</a></li>
  338. </ul>
  339. <ul class="simple nested-toc-section">inMicroseconds
  340. <li><a class="reference" href="#inMicroseconds%2CDuration" title="inMicroseconds(dur: Duration): int64">inMicroseconds(dur: Duration): int64</a></li>
  341. </ul>
  342. <ul class="simple nested-toc-section">inMilliseconds
  343. <li><a class="reference" href="#inMilliseconds%2CDuration" title="inMilliseconds(dur: Duration): int64">inMilliseconds(dur: Duration): int64</a></li>
  344. </ul>
  345. <ul class="simple nested-toc-section">inMinutes
  346. <li><a class="reference" href="#inMinutes%2CDuration" title="inMinutes(dur: Duration): int64">inMinutes(dur: Duration): int64</a></li>
  347. </ul>
  348. <ul class="simple nested-toc-section">inNanoseconds
  349. <li><a class="reference" href="#inNanoseconds%2CDuration" title="inNanoseconds(dur: Duration): int64">inNanoseconds(dur: Duration): int64</a></li>
  350. </ul>
  351. <ul class="simple nested-toc-section">inSeconds
  352. <li><a class="reference" href="#inSeconds%2CDuration" title="inSeconds(dur: Duration): int64">inSeconds(dur: Duration): int64</a></li>
  353. </ul>
  354. <ul class="simple nested-toc-section">inWeeks
  355. <li><a class="reference" href="#inWeeks%2CDuration" title="inWeeks(dur: Duration): int64">inWeeks(dur: Duration): int64</a></li>
  356. </ul>
  357. <ul class="simple nested-toc-section">inZone
  358. <li><a class="reference" href="#inZone%2CDateTime%2CTimezone" title="inZone(dt: DateTime; zone: Timezone): DateTime">inZone(dt: DateTime; zone: Timezone): DateTime</a></li>
  359. <li><a class="reference" href="#inZone%2CTime%2CTimezone" title="inZone(time: Time; zone: Timezone): DateTime">inZone(time: Time; zone: Timezone): DateTime</a></li>
  360. </ul>
  361. <ul class="simple nested-toc-section">isDst
  362. <li><a class="reference" href="#isDst%2CDateTime" title="isDst(dt: DateTime): bool">isDst(dt: DateTime): bool</a></li>
  363. </ul>
  364. <ul class="simple nested-toc-section">isDst=
  365. <li><a class="reference" href="#isDst%3D%2CDateTime%2Cbool" title="isDst=(dt: var DateTime; value: bool)">isDst=(dt: var DateTime; value: bool)</a></li>
  366. </ul>
  367. <ul class="simple nested-toc-section">isInitialized
  368. <li><a class="reference" href="#isInitialized%2CDateTime" title="isInitialized(dt: DateTime): bool">isInitialized(dt: DateTime): bool</a></li>
  369. </ul>
  370. <ul class="simple nested-toc-section">isLeapDay
  371. <li><a class="reference" href="#isLeapDay%2CDateTime" title="isLeapDay(dt: DateTime): bool">isLeapDay(dt: DateTime): bool</a></li>
  372. </ul>
  373. <ul class="simple nested-toc-section">isLeapYear
  374. <li><a class="reference" href="#isLeapYear%2Cint" title="isLeapYear(year: int): bool">isLeapYear(year: int): bool</a></li>
  375. </ul>
  376. <ul class="simple nested-toc-section">local
  377. <li><a class="reference" href="#local" title="local(): Timezone">local(): Timezone</a></li>
  378. <li><a class="reference" href="#local%2CDateTime" title="local(dt: DateTime): DateTime">local(dt: DateTime): DateTime</a></li>
  379. <li><a class="reference" href="#local%2CTime" title="local(t: Time): DateTime">local(t: Time): DateTime</a></li>
  380. </ul>
  381. <ul class="simple nested-toc-section">low
  382. <li><a class="reference" href="#low%2Ctypedesc%5BDuration%5D" title="low(typ: typedesc[Duration]): Duration">low(typ: typedesc[Duration]): Duration</a></li>
  383. <li><a class="reference" href="#low%2Ctypedesc%5BTime%5D" title="low(typ: typedesc[Time]): Time">low(typ: typedesc[Time]): Time</a></li>
  384. </ul>
  385. <ul class="simple nested-toc-section">microseconds
  386. <li><a class="reference" href="#microseconds%2Cint" title="microseconds(micros: int): TimeInterval">microseconds(micros: int): TimeInterval</a></li>
  387. </ul>
  388. <ul class="simple nested-toc-section">milliseconds
  389. <li><a class="reference" href="#milliseconds%2Cint" title="milliseconds(ms: int): TimeInterval">milliseconds(ms: int): TimeInterval</a></li>
  390. </ul>
  391. <ul class="simple nested-toc-section">minute
  392. <li><a class="reference" href="#minute%2CDateTime" title="minute(dt: DateTime): MinuteRange">minute(dt: DateTime): MinuteRange</a></li>
  393. </ul>
  394. <ul class="simple nested-toc-section">minute=
  395. <li><a class="reference" href="#minute%3D%2CDateTime%2CMinuteRange" title="minute=(dt: var DateTime; value: MinuteRange)">minute=(dt: var DateTime; value: MinuteRange)</a></li>
  396. </ul>
  397. <ul class="simple nested-toc-section">minutes
  398. <li><a class="reference" href="#minutes%2Cint" title="minutes(m: int): TimeInterval">minutes(m: int): TimeInterval</a></li>
  399. </ul>
  400. <ul class="simple nested-toc-section">month
  401. <li><a class="reference" href="#month%2CDateTime" title="month(dt: DateTime): Month">month(dt: DateTime): Month</a></li>
  402. </ul>
  403. <ul class="simple nested-toc-section">monthday
  404. <li><a class="reference" href="#monthday%2CDateTime" title="monthday(dt: DateTime): MonthdayRange">monthday(dt: DateTime): MonthdayRange</a></li>
  405. </ul>
  406. <ul class="simple nested-toc-section">monthdayZero=
  407. <li><a class="reference" href="#monthdayZero%3D%2CDateTime%2Cint" title="monthdayZero=(dt: var DateTime; value: int)">monthdayZero=(dt: var DateTime; value: int)</a></li>
  408. </ul>
  409. <ul class="simple nested-toc-section">months
  410. <li><a class="reference" href="#months%2Cint" title="months(m: int): TimeInterval">months(m: int): TimeInterval</a></li>
  411. </ul>
  412. <ul class="simple nested-toc-section">monthZero=
  413. <li><a class="reference" href="#monthZero%3D%2CDateTime%2Cint" title="monthZero=(dt: var DateTime; value: int)">monthZero=(dt: var DateTime; value: int)</a></li>
  414. </ul>
  415. <ul class="simple nested-toc-section">name
  416. <li><a class="reference" href="#name%2CTimezone" title="name(zone: Timezone): string">name(zone: Timezone): string</a></li>
  417. </ul>
  418. <ul class="simple nested-toc-section">nanosecond
  419. <li><a class="reference" href="#nanosecond%2CDateTime" title="nanosecond(dt: DateTime): NanosecondRange">nanosecond(dt: DateTime): NanosecondRange</a></li>
  420. <li><a class="reference" href="#nanosecond%2CTime" title="nanosecond(time: Time): NanosecondRange">nanosecond(time: Time): NanosecondRange</a></li>
  421. </ul>
  422. <ul class="simple nested-toc-section">nanosecond=
  423. <li><a class="reference" href="#nanosecond%3D%2CDateTime%2CNanosecondRange" title="nanosecond=(dt: var DateTime; value: NanosecondRange)">nanosecond=(dt: var DateTime; value: NanosecondRange)</a></li>
  424. </ul>
  425. <ul class="simple nested-toc-section">nanoseconds
  426. <li><a class="reference" href="#nanoseconds%2Cint" title="nanoseconds(nanos: int): TimeInterval">nanoseconds(nanos: int): TimeInterval</a></li>
  427. </ul>
  428. <ul class="simple nested-toc-section">newTimezone
  429. <li><a class="reference" href="#newTimezone%2Cstring%2Cproc%28Time%29%2Cproc%28Time%29" title="newTimezone(name: string; zonedTimeFromTimeImpl: proc (time: Time): ZonedTime {.
  430. tags: [], raises: [], gcsafe.}; zonedTimeFromAdjTimeImpl: proc (
  431. adjTime: Time): ZonedTime {.tags: [], raises: [], gcsafe.}): owned Timezone">newTimezone(name: string; zonedTimeFromTimeImpl: proc (time: Time): ZonedTime {.
  432. tags: [], raises: [], gcsafe.}; zonedTimeFromAdjTimeImpl: proc (
  433. adjTime: Time): ZonedTime {.tags: [], raises: [], gcsafe.}): owned Timezone</a></li>
  434. </ul>
  435. <ul class="simple nested-toc-section">now
  436. <li><a class="reference" href="#now" title="now(): DateTime">now(): DateTime</a></li>
  437. </ul>
  438. <ul class="simple nested-toc-section">parse
  439. <li><a class="reference" href="#parse%2Cstring%2Cstring%2CTimezone%2CDateTimeLocale" title="parse(input, f: string; tz: Timezone = local();
  440. loc: DateTimeLocale = DefaultLocale): DateTime">parse(input, f: string; tz: Timezone = local();
  441. loc: DateTimeLocale = DefaultLocale): DateTime</a></li>
  442. <li><a class="reference" href="#parse%2Cstring%2Cstatic%5Bstring%5D%2CTimezone%2CDateTimeLocale" title="parse(input: string; f: static[string]; zone: Timezone = local();
  443. loc: DateTimeLocale = DefaultLocale): DateTime">parse(input: string; f: static[string]; zone: Timezone = local();
  444. loc: DateTimeLocale = DefaultLocale): DateTime</a></li>
  445. <li><a class="reference" href="#parse%2Cstring%2CTimeFormat%2CTimezone%2CDateTimeLocale" title="parse(input: string; f: TimeFormat; zone: Timezone = local();
  446. loc: DateTimeLocale = DefaultLocale): DateTime">parse(input: string; f: TimeFormat; zone: Timezone = local();
  447. loc: DateTimeLocale = DefaultLocale): DateTime</a></li>
  448. </ul>
  449. <ul class="simple nested-toc-section">parseTime
  450. <li><a class="reference" href="#parseTime%2Cstring%2Cstring%2CTimezone" title="parseTime(input, f: string; zone: Timezone): Time">parseTime(input, f: string; zone: Timezone): Time</a></li>
  451. <li><a class="reference" href="#parseTime%2Cstring%2Cstatic%5Bstring%5D%2CTimezone" title="parseTime(input: string; f: static[string]; zone: Timezone): Time">parseTime(input: string; f: static[string]; zone: Timezone): Time</a></li>
  452. </ul>
  453. <ul class="simple nested-toc-section">second
  454. <li><a class="reference" href="#second%2CDateTime" title="second(dt: DateTime): SecondRange">second(dt: DateTime): SecondRange</a></li>
  455. </ul>
  456. <ul class="simple nested-toc-section">second=
  457. <li><a class="reference" href="#second%3D%2CDateTime%2CSecondRange" title="second=(dt: var DateTime; value: SecondRange)">second=(dt: var DateTime; value: SecondRange)</a></li>
  458. </ul>
  459. <ul class="simple nested-toc-section">seconds
  460. <li><a class="reference" href="#seconds%2Cint" title="seconds(s: int): TimeInterval">seconds(s: int): TimeInterval</a></li>
  461. </ul>
  462. <ul class="simple nested-toc-section">timezone
  463. <li><a class="reference" href="#timezone%2CDateTime" title="timezone(dt: DateTime): Timezone">timezone(dt: DateTime): Timezone</a></li>
  464. </ul>
  465. <ul class="simple nested-toc-section">timezone=
  466. <li><a class="reference" href="#timezone%3D%2CDateTime%2CTimezone" title="timezone=(dt: var DateTime; value: Timezone)">timezone=(dt: var DateTime; value: Timezone)</a></li>
  467. </ul>
  468. <ul class="simple nested-toc-section">toParts
  469. <li><a class="reference" href="#toParts%2CDuration" title="toParts(dur: Duration): DurationParts">toParts(dur: Duration): DurationParts</a></li>
  470. <li><a class="reference" href="#toParts%2CTimeInterval" title="toParts(ti: TimeInterval): TimeIntervalParts">toParts(ti: TimeInterval): TimeIntervalParts</a></li>
  471. </ul>
  472. <ul class="simple nested-toc-section">toTime
  473. <li><a class="reference" href="#toTime%2CDateTime" title="toTime(dt: DateTime): Time">toTime(dt: DateTime): Time</a></li>
  474. </ul>
  475. <ul class="simple nested-toc-section">toUnix
  476. <li><a class="reference" href="#toUnix%2CTime" title="toUnix(t: Time): int64">toUnix(t: Time): int64</a></li>
  477. </ul>
  478. <ul class="simple nested-toc-section">toUnixFloat
  479. <li><a class="reference" href="#toUnixFloat%2CTime" title="toUnixFloat(t: Time): float">toUnixFloat(t: Time): float</a></li>
  480. </ul>
  481. <ul class="simple nested-toc-section">toWinTime
  482. <li><a class="reference" href="#toWinTime%2CTime" title="toWinTime(t: Time): int64">toWinTime(t: Time): int64</a></li>
  483. </ul>
  484. <ul class="simple nested-toc-section">utc
  485. <li><a class="reference" href="#utc" title="utc(): Timezone">utc(): Timezone</a></li>
  486. <li><a class="reference" href="#utc%2CDateTime" title="utc(dt: DateTime): DateTime">utc(dt: DateTime): DateTime</a></li>
  487. <li><a class="reference" href="#utc%2CTime" title="utc(t: Time): DateTime">utc(t: Time): DateTime</a></li>
  488. </ul>
  489. <ul class="simple nested-toc-section">utcOffset
  490. <li><a class="reference" href="#utcOffset%2CDateTime" title="utcOffset(dt: DateTime): int">utcOffset(dt: DateTime): int</a></li>
  491. </ul>
  492. <ul class="simple nested-toc-section">utcOffset=
  493. <li><a class="reference" href="#utcOffset%3D%2CDateTime%2Cint" title="utcOffset=(dt: var DateTime; value: int)">utcOffset=(dt: var DateTime; value: int)</a></li>
  494. </ul>
  495. <ul class="simple nested-toc-section">weekday
  496. <li><a class="reference" href="#weekday%2CDateTime" title="weekday(dt: DateTime): WeekDay">weekday(dt: DateTime): WeekDay</a></li>
  497. </ul>
  498. <ul class="simple nested-toc-section">weekday=
  499. <li><a class="reference" href="#weekday%3D%2CDateTime%2CWeekDay" title="weekday=(dt: var DateTime; value: WeekDay)">weekday=(dt: var DateTime; value: WeekDay)</a></li>
  500. </ul>
  501. <ul class="simple nested-toc-section">weeks
  502. <li><a class="reference" href="#weeks%2Cint" title="weeks(w: int): TimeInterval">weeks(w: int): TimeInterval</a></li>
  503. </ul>
  504. <ul class="simple nested-toc-section">year
  505. <li><a class="reference" href="#year%2CDateTime" title="year(dt: DateTime): int">year(dt: DateTime): int</a></li>
  506. </ul>
  507. <ul class="simple nested-toc-section">year=
  508. <li><a class="reference" href="#year%3D%2CDateTime%2Cint" title="year=(dt: var DateTime; value: int)">year=(dt: var DateTime; value: int)</a></li>
  509. </ul>
  510. <ul class="simple nested-toc-section">yearday
  511. <li><a class="reference" href="#yearday%2CDateTime" title="yearday(dt: DateTime): YeardayRange">yearday(dt: DateTime): YeardayRange</a></li>
  512. </ul>
  513. <ul class="simple nested-toc-section">yearday=
  514. <li><a class="reference" href="#yearday%3D%2CDateTime%2CYeardayRange" title="yearday=(dt: var DateTime; value: YeardayRange)">yearday=(dt: var DateTime; value: YeardayRange)</a></li>
  515. </ul>
  516. <ul class="simple nested-toc-section">years
  517. <li><a class="reference" href="#years%2Cint" title="years(y: int): TimeInterval">years(y: int): TimeInterval</a></li>
  518. </ul>
  519. <ul class="simple nested-toc-section">zonedTimeFromAdjTime
  520. <li><a class="reference" href="#zonedTimeFromAdjTime%2CTimezone%2CTime" title="zonedTimeFromAdjTime(zone: Timezone; adjTime: Time): ZonedTime">zonedTimeFromAdjTime(zone: Timezone; adjTime: Time): ZonedTime</a></li>
  521. </ul>
  522. <ul class="simple nested-toc-section">zonedTimeFromTime
  523. <li><a class="reference" href="#zonedTimeFromTime%2CTimezone%2CTime" title="zonedTimeFromTime(zone: Timezone; time: Time): ZonedTime">zonedTimeFromTime(zone: Timezone; time: Time): ZonedTime</a></li>
  524. </ul>
  525. </ul>
  526. </details>
  527. </li>
  528. </ul>
  529. </div>
  530. <div class="nine columns" id="content">
  531. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  532. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  533. <div id="tocRoot"></div>
  534. <p class="module-desc"><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">times</span></span></tt> module contains routines and types for dealing with time using the <a class="reference external" href="https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar">proleptic Gregorian calendar</a>. It's also available for the <a class="reference external" href="backends.html#backends-the-javascript-target">JavaScript target</a>.</p>
  535. <p>Although the <tt class="docutils literal"><span class="pre"><span class="Identifier">times</span></span></tt> module supports nanosecond time resolution, the resolution used by <tt class="docutils literal"><span class="pre"><span class="Identifier">getTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span></span></tt> depends on the platform and backend (JS is limited to millisecond precision).</p>
  536. <h1><a class="toc-backref" id="examples" href="#examples">Examples</a></h1><p><pre class="listing"><span class="Keyword">import</span> <span class="Identifier">std</span><span class="Operator">/</span><span class="Punctuation">[</span><span class="Identifier">times</span><span class="Punctuation">,</span> <span class="Identifier">os</span><span class="Punctuation">]</span>
  537. <span class="Comment"># Simple benchmarking</span>
  538. <span class="Keyword">let</span> <span class="Identifier">time</span> <span class="Operator">=</span> <span class="Identifier">cpuTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span>
  539. <span class="Identifier">sleep</span><span class="Punctuation">(</span><span class="DecNumber">100</span><span class="Punctuation">)</span> <span class="Comment"># Replace this with something to be timed</span>
  540. <span class="Identifier">echo</span> <span class="StringLit">&quot;Time taken: &quot;</span><span class="Punctuation">,</span> <span class="Identifier">cpuTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">-</span> <span class="Identifier">time</span>
  541. <span class="Comment"># Current date &amp; time</span>
  542. <span class="Keyword">let</span> <span class="Identifier">now1</span> <span class="Operator">=</span> <span class="Identifier">now</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Comment"># Current timestamp as a DateTime in local time</span>
  543. <span class="Keyword">let</span> <span class="Identifier">now2</span> <span class="Operator">=</span> <span class="Identifier">now</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">utc</span> <span class="Comment"># Current timestamp as a DateTime in UTC</span>
  544. <span class="Keyword">let</span> <span class="Identifier">now3</span> <span class="Operator">=</span> <span class="Identifier">getTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Comment"># Current timestamp as a Time</span>
  545. <span class="Comment"># Arithmetic using Duration</span>
  546. <span class="Identifier">echo</span> <span class="StringLit">&quot;One hour from now : &quot;</span><span class="Punctuation">,</span> <span class="Identifier">now</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">+</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span>
  547. <span class="Comment"># Arithmetic using TimeInterval</span>
  548. <span class="Identifier">echo</span> <span class="StringLit">&quot;One year from now : &quot;</span><span class="Punctuation">,</span> <span class="Identifier">now</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">+</span> <span class="FloatNumber">1.</span><span class="Identifier">years</span>
  549. <span class="Identifier">echo</span> <span class="StringLit">&quot;One month from now : &quot;</span><span class="Punctuation">,</span> <span class="Identifier">now</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">+</span> <span class="FloatNumber">1.</span><span class="Identifier">months</span></pre></p>
  550. <h1><a class="toc-backref" id="parsing-and-formatting-dates" href="#parsing-and-formatting-dates">Parsing and Formatting Dates</a></h1><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">DateTime</span></span></tt> type can be parsed and formatted using the different <tt class="docutils literal"><span class="pre"><span class="Identifier">parse</span></span></tt> and <tt class="docutils literal"><span class="pre"><span class="Identifier">format</span></span></tt> procedures.</p>
  551. <p><pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dt</span> <span class="Operator">=</span> <span class="Identifier">parse</span><span class="Punctuation">(</span><span class="StringLit">&quot;2000-01-01&quot;</span><span class="Punctuation">,</span> <span class="StringLit">&quot;yyyy-MM-dd&quot;</span><span class="Punctuation">)</span>
  552. <span class="Identifier">echo</span> <span class="Identifier">dt</span><span class="Operator">.</span><span class="Identifier">format</span><span class="Punctuation">(</span><span class="StringLit">&quot;yyyy-MM-dd&quot;</span><span class="Punctuation">)</span></pre></p>
  553. <p>The different format patterns that are supported are documented below.</p>
  554. <table border="1" class="docutils"><tr><th>Pattern</th><th>Description</th><th>Example</th></tr>
  555. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">d</span></span></tt></td><td>Numeric value representing the day of the month, it will be either one or two digits long.</td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">1</span><span class="Operator">/</span><span class="DecNumber">04</span><span class="Operator">/</span><span class="DecNumber">2012</span> <span class="Operator">-&gt;</span> <span class="DecNumber">1</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">21</span><span class="Operator">/</span><span class="DecNumber">04</span><span class="Operator">/</span><span class="DecNumber">2012</span> <span class="Operator">-&gt;</span> <span class="DecNumber">21</span></span></tt><br/></p></td></tr>
  556. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">dd</span></span></tt></td><td>Same as above, but is always two digits. </td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">1</span><span class="Operator">/</span><span class="DecNumber">04</span><span class="Operator">/</span><span class="DecNumber">2012</span> <span class="Operator">-&gt;</span> <span class="DecNumber">01</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">21</span><span class="Operator">/</span><span class="DecNumber">04</span><span class="Operator">/</span><span class="DecNumber">2012</span> <span class="Operator">-&gt;</span> <span class="DecNumber">21</span></span></tt><br/></p></td></tr>
  557. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">ddd</span></span></tt></td><td>Three letter string which indicates the day of the week. </td><td><p><tt class="docutils literal"><span class="pre"><span class="Identifier">Saturday</span> <span class="Operator">-&gt;</span> <span class="Identifier">Sat</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="Identifier">Monday</span> <span class="Operator">-&gt;</span> <span class="Identifier">Mon</span></span></tt><br/></p></td></tr>
  558. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">dddd</span></span></tt></td><td>Full string for the day of the week. </td><td><p><tt class="docutils literal"><span class="pre"><span class="Identifier">Saturday</span> <span class="Operator">-&gt;</span> <span class="Identifier">Saturday</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="Identifier">Monday</span> <span class="Operator">-&gt;</span> <span class="Identifier">Monday</span></span></tt><br/></p></td></tr>
  559. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">GG</span></span></tt></td><td>The last two digits of the Iso Week-Year</td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">30</span><span class="Operator">/</span><span class="DecNumber">12</span><span class="Operator">/</span><span class="DecNumber">2012</span> <span class="Operator">-&gt;</span> <span class="DecNumber">13</span></span></tt><br/></p></td></tr>
  560. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">GGGG</span></span></tt></td><td>The Iso week-calendar year padded to four digits</td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">30</span><span class="Operator">/</span><span class="DecNumber">12</span><span class="Operator">/</span><span class="DecNumber">2012</span> <span class="Operator">-&gt;</span> <span class="DecNumber">2013</span></span></tt><br/></p></td></tr>
  561. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">h</span></span></tt></td><td>The hours in one digit if possible. Ranging from 1-12. </td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">5</span><span class="Identifier">pm</span> <span class="Operator">-&gt;</span> <span class="DecNumber">5</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">2</span><span class="Identifier">am</span> <span class="Operator">-&gt;</span> <span class="DecNumber">2</span></span></tt><br/></p></td></tr>
  562. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">hh</span></span></tt></td><td>The hours in two digits always. If the hour is one digit, 0 is prepended. </td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">5</span><span class="Identifier">pm</span> <span class="Operator">-&gt;</span> <span class="DecNumber">05</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">11</span><span class="Identifier">am</span> <span class="Operator">-&gt;</span> <span class="DecNumber">11</span></span></tt><br/></p></td></tr>
  563. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">H</span></span></tt></td><td>The hours in one digit if possible, ranging from 0-23. </td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">5</span><span class="Identifier">pm</span> <span class="Operator">-&gt;</span> <span class="DecNumber">17</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">2</span><span class="Identifier">am</span> <span class="Operator">-&gt;</span> <span class="DecNumber">2</span></span></tt><br/></p></td></tr>
  564. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">HH</span></span></tt></td><td>The hours in two digits always. 0 is prepended if the hour is one digit. </td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">5</span><span class="Identifier">pm</span> <span class="Operator">-&gt;</span> <span class="DecNumber">17</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">2</span><span class="Identifier">am</span> <span class="Operator">-&gt;</span> <span class="DecNumber">02</span></span></tt><br/></p></td></tr>
  565. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">m</span></span></tt></td><td>The minutes in one digit if possible. </td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">5</span><span class="Punctuation">:</span><span class="DecNumber">30</span> <span class="Operator">-&gt;</span> <span class="DecNumber">30</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">2</span><span class="Punctuation">:</span><span class="DecNumber">01</span> <span class="Operator">-&gt;</span> <span class="DecNumber">1</span></span></tt><br/></p></td></tr>
  566. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">mm</span></span></tt></td><td>Same as above but always two digits, 0 is prepended if the minute is one digit. </td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">5</span><span class="Punctuation">:</span><span class="DecNumber">30</span> <span class="Operator">-&gt;</span> <span class="DecNumber">30</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">2</span><span class="Punctuation">:</span><span class="DecNumber">01</span> <span class="Operator">-&gt;</span> <span class="DecNumber">01</span></span></tt><br/></p></td></tr>
  567. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">M</span></span></tt></td><td>The month in one digit if possible. </td><td><p><tt class="docutils literal"><span class="pre"><span class="Identifier">September</span> <span class="Operator">-&gt;</span> <span class="DecNumber">9</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="Identifier">December</span> <span class="Operator">-&gt;</span> <span class="DecNumber">12</span></span></tt><br/></p></td></tr>
  568. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">MM</span></span></tt></td><td>The month in two digits always. 0 is prepended if the month value is one digit. </td><td><p><tt class="docutils literal"><span class="pre"><span class="Identifier">September</span> <span class="Operator">-&gt;</span> <span class="DecNumber">09</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="Identifier">December</span> <span class="Operator">-&gt;</span> <span class="DecNumber">12</span></span></tt><br/></p></td></tr>
  569. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">MMM</span></span></tt></td><td>Abbreviated three-letter form of the month. </td><td><p><tt class="docutils literal"><span class="pre"><span class="Identifier">September</span> <span class="Operator">-&gt;</span> <span class="Identifier">Sep</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="Identifier">December</span> <span class="Operator">-&gt;</span> <span class="Identifier">Dec</span></span></tt><br/></p></td></tr>
  570. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">MMMM</span></span></tt></td><td>Full month string, properly capitalized.</td><td><p><tt class="docutils literal"><span class="pre"><span class="Identifier">September</span> <span class="Operator">-&gt;</span> <span class="Identifier">September</span></span></tt><br/></p></td></tr>
  571. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">s</span></span></tt></td><td>Seconds as one digit if possible.</td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">00</span><span class="Punctuation">:</span><span class="DecNumber">00</span><span class="Punctuation">:</span><span class="DecNumber">06</span> <span class="Operator">-&gt;</span> <span class="DecNumber">6</span></span></tt><br/></p></td></tr>
  572. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">ss</span></span></tt></td><td>Same as above but always two digits. 0 is prepended if the second is one digit.</td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">00</span><span class="Punctuation">:</span><span class="DecNumber">00</span><span class="Punctuation">:</span><span class="DecNumber">06</span> <span class="Operator">-&gt;</span> <span class="DecNumber">06</span></span></tt><br/></p></td></tr>
  573. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">t</span></span></tt></td><td><tt class="docutils literal"><span class="pre"><span class="Identifier">A</span></span></tt> when time is in the AM. <tt class="docutils literal"><span class="pre"><span class="Identifier">P</span></span></tt> when time is in the PM. </td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">5</span><span class="Identifier">pm</span> <span class="Operator">-&gt;</span> <span class="Identifier">P</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">2</span><span class="Identifier">am</span> <span class="Operator">-&gt;</span> <span class="Identifier">A</span></span></tt><br/></p></td></tr>
  574. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">tt</span></span></tt></td><td>Same as above, but <tt class="docutils literal"><span class="pre"><span class="Identifier">AM</span></span></tt> and <tt class="docutils literal"><span class="pre"><span class="Identifier">PM</span></span></tt> instead of <tt class="docutils literal"><span class="pre"><span class="Identifier">A</span></span></tt> and <tt class="docutils literal"><span class="pre"><span class="Identifier">P</span></span></tt> respectively. </td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">5</span><span class="Identifier">pm</span> <span class="Operator">-&gt;</span> <span class="Identifier">PM</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">2</span><span class="Identifier">am</span> <span class="Operator">-&gt;</span> <span class="Identifier">AM</span></span></tt><br/></p></td></tr>
  575. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">yy</span></span></tt></td><td>The last two digits of the year. When parsing, the current century is assumed.</td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">2012</span> <span class="Identifier">AD</span> <span class="Operator">-&gt;</span> <span class="DecNumber">12</span></span></tt><br/></p></td></tr>
  576. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">yyyy</span></span></tt></td><td>The year, padded to at least four digits. Is always positive, even when the year is BC. When the year is more than four digits, '+' is prepended. </td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">2012</span> <span class="Identifier">AD</span> <span class="Operator">-&gt;</span> <span class="DecNumber">2012</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">24</span> <span class="Identifier">AD</span> <span class="Operator">-&gt;</span> <span class="DecNumber">0024</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">24</span> <span class="Identifier">BC</span> <span class="Operator">-&gt;</span> <span class="DecNumber">00024</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">12345</span> <span class="Identifier">AD</span> <span class="Operator">-&gt;</span> <span class="Operator">+</span><span class="DecNumber">12345</span></span></tt><br/></p></td></tr>
  577. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">YYYY</span></span></tt></td><td>The year without any padding. Is always positive, even when the year is BC.</td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">2012</span> <span class="Identifier">AD</span> <span class="Operator">-&gt;</span> <span class="DecNumber">2012</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">24</span> <span class="Identifier">AD</span> <span class="Operator">-&gt;</span> <span class="DecNumber">24</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">24</span> <span class="Identifier">BC</span> <span class="Operator">-&gt;</span> <span class="DecNumber">24</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">12345</span> <span class="Identifier">AD</span> <span class="Operator">-&gt;</span> <span class="DecNumber">12345</span></span></tt><br/></p></td></tr>
  578. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">uuuu</span></span></tt></td><td>The year, padded to at least four digits. Will be negative when the year is BC. When the year is more than four digits, '+' is prepended unless the year is BC.</td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">2012</span> <span class="Identifier">AD</span> <span class="Operator">-&gt;</span> <span class="DecNumber">2012</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">24</span> <span class="Identifier">AD</span> <span class="Operator">-&gt;</span> <span class="DecNumber">0024</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">24</span> <span class="Identifier">BC</span> <span class="Operator">-&gt;</span> <span class="Operator">-</span><span class="DecNumber">0023</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">12345</span> <span class="Identifier">AD</span> <span class="Operator">-&gt;</span> <span class="Operator">+</span><span class="DecNumber">12345</span></span></tt><br/></p></td></tr>
  579. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">UUUU</span></span></tt></td><td>The year without any padding. Will be negative when the year is BC.</td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">2012</span> <span class="Identifier">AD</span> <span class="Operator">-&gt;</span> <span class="DecNumber">2012</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">24</span> <span class="Identifier">AD</span> <span class="Operator">-&gt;</span> <span class="DecNumber">24</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">24</span> <span class="Identifier">BC</span> <span class="Operator">-&gt;</span> <span class="Operator">-</span><span class="DecNumber">23</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">12345</span> <span class="Identifier">AD</span> <span class="Operator">-&gt;</span> <span class="DecNumber">12345</span></span></tt><br/></p></td></tr>
  580. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">V</span></span></tt></td><td>The Iso Week-Number as one or two digits </td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">3</span><span class="Operator">/</span><span class="DecNumber">2</span><span class="Operator">/</span><span class="DecNumber">2012</span> <span class="Operator">-&gt;</span> <span class="DecNumber">5</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">1</span><span class="Operator">/</span><span class="DecNumber">4</span><span class="Operator">/</span><span class="DecNumber">2012</span> <span class="Operator">-&gt;</span> <span class="DecNumber">13</span></span></tt><br/></p></td></tr>
  581. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">VV</span></span></tt></td><td>The Iso Week-Number as two digits always. 0 is prepended if one digit. </td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">3</span><span class="Operator">/</span><span class="DecNumber">2</span><span class="Operator">/</span><span class="DecNumber">2012</span> <span class="Operator">-&gt;</span> <span class="DecNumber">05</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">1</span><span class="Operator">/</span><span class="DecNumber">4</span><span class="Operator">/</span><span class="DecNumber">2012</span> <span class="Operator">-&gt;</span> <span class="DecNumber">13</span></span></tt><br/></p></td></tr>
  582. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">z</span></span></tt></td><td>Displays the timezone offset from UTC. </td><td><p><tt class="docutils literal"><span class="pre"><span class="Identifier">UTC</span><span class="Operator">+</span><span class="DecNumber">7</span> <span class="Operator">-&gt;</span> <span class="Operator">+</span><span class="DecNumber">7</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="Identifier">UTC</span><span class="Operator">-</span><span class="DecNumber">5</span> <span class="Operator">-&gt;</span> <span class="Operator">-</span><span class="DecNumber">5</span></span></tt><br/></p></td></tr>
  583. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">zz</span></span></tt></td><td>Same as above but with leading 0. </td><td><p><tt class="docutils literal"><span class="pre"><span class="Identifier">UTC</span><span class="Operator">+</span><span class="DecNumber">7</span> <span class="Operator">-&gt;</span> <span class="Operator">+</span><span class="DecNumber">07</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="Identifier">UTC</span><span class="Operator">-</span><span class="DecNumber">5</span> <span class="Operator">-&gt;</span> <span class="Operator">-</span><span class="DecNumber">05</span></span></tt><br/></p></td></tr>
  584. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">zzz</span></span></tt></td><td>Same as above but with <tt class="docutils literal"><span class="pre"><span class="Punctuation">:</span><span class="Identifier">mm</span></span></tt> where <em>mm</em> represents minutes. </td><td><p><tt class="docutils literal"><span class="pre"><span class="Identifier">UTC</span><span class="Operator">+</span><span class="DecNumber">7</span> <span class="Operator">-&gt;</span> <span class="Operator">+</span><span class="DecNumber">07</span><span class="Punctuation">:</span><span class="DecNumber">00</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="Identifier">UTC</span><span class="Operator">-</span><span class="DecNumber">5</span> <span class="Operator">-&gt;</span> <span class="Operator">-</span><span class="DecNumber">05</span><span class="Punctuation">:</span><span class="DecNumber">00</span></span></tt><br/></p></td></tr>
  585. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">ZZZ</span></span></tt></td><td>Same as above but with <tt class="docutils literal"><span class="pre"><span class="Identifier">mm</span></span></tt> where <em>mm</em> represents minutes. </td><td><p><tt class="docutils literal"><span class="pre"><span class="Identifier">UTC</span><span class="Operator">+</span><span class="DecNumber">7</span> <span class="Operator">-&gt;</span> <span class="Operator">+</span><span class="DecNumber">0700</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="Identifier">UTC</span><span class="Operator">-</span><span class="DecNumber">5</span> <span class="Operator">-&gt;</span> <span class="Operator">-</span><span class="DecNumber">0500</span></span></tt><br/></p></td></tr>
  586. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">zzzz</span></span></tt></td><td>Same as above but with <tt class="docutils literal"><span class="pre"><span class="Punctuation">:</span><span class="Identifier">ss</span></span></tt> where <em>ss</em> represents seconds. </td><td><p><tt class="docutils literal"><span class="pre"><span class="Identifier">UTC</span><span class="Operator">+</span><span class="DecNumber">7</span> <span class="Operator">-&gt;</span> <span class="Operator">+</span><span class="DecNumber">07</span><span class="Punctuation">:</span><span class="DecNumber">00</span><span class="Punctuation">:</span><span class="DecNumber">00</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="Identifier">UTC</span><span class="Operator">-</span><span class="DecNumber">5</span> <span class="Operator">-&gt;</span> <span class="Operator">-</span><span class="DecNumber">05</span><span class="Punctuation">:</span><span class="DecNumber">00</span><span class="Punctuation">:</span><span class="DecNumber">00</span></span></tt><br/></p></td></tr>
  587. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">ZZZZ</span></span></tt></td><td>Same as above but with <tt class="docutils literal"><span class="pre"><span class="Identifier">ss</span></span></tt> where <em>ss</em> represents seconds. </td><td><p><tt class="docutils literal"><span class="pre"><span class="Identifier">UTC</span><span class="Operator">+</span><span class="DecNumber">7</span> <span class="Operator">-&gt;</span> <span class="Operator">+</span><span class="DecNumber">070000</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="Identifier">UTC</span><span class="Operator">-</span><span class="DecNumber">5</span> <span class="Operator">-&gt;</span> <span class="Operator">-</span><span class="DecNumber">050000</span></span></tt><br/></p></td></tr>
  588. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">g</span></span></tt></td><td>Era: AD or BC </td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">300</span> <span class="Identifier">AD</span> <span class="Operator">-&gt;</span> <span class="Identifier">AD</span></span></tt><br/><tt class="docutils literal"><span class="pre"><span class="DecNumber">300</span> <span class="Identifier">BC</span> <span class="Operator">-&gt;</span> <span class="Identifier">BC</span></span></tt><br/></p></td></tr>
  589. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">fff</span></span></tt></td><td>Milliseconds display</td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">1000000</span> <span class="Identifier">nanoseconds</span> <span class="Operator">-&gt;</span> <span class="DecNumber">1</span></span></tt><br/></p></td></tr>
  590. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">ffffff</span></span></tt></td><td>Microseconds display</td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">1000000</span> <span class="Identifier">nanoseconds</span> <span class="Operator">-&gt;</span> <span class="DecNumber">1000</span></span></tt><br/></p></td></tr>
  591. <tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">fffffffff</span></span></tt></td><td>Nanoseconds display</td><td><p><tt class="docutils literal"><span class="pre"><span class="DecNumber">1000000</span> <span class="Identifier">nanoseconds</span> <span class="Operator">-&gt;</span> <span class="DecNumber">1000000</span></span></tt><br/></p></td></tr>
  592. </table><p>Other strings can be inserted by putting them in <tt class="docutils literal"><span class="pre"><span class="CharLit">''</span></span></tt>. For example <tt class="docutils literal"><span class="pre"><span class="Identifier">hh</span><span class="CharLit">'-&gt;'</span><span class="Identifier">mm</span></span></tt> will give <tt class="docutils literal"><span class="pre"><span class="DecNumber">01</span><span class="Operator">-&gt;</span><span class="DecNumber">56</span></span></tt>. In addition to spaces, the following characters can be inserted without quoting them: <tt class="docutils literal"><span class="pre"><span class="Punctuation">:</span></span></tt> <tt class="docutils literal"><span class="pre"><span class="Operator">-</span></span></tt> <tt class="docutils literal"><span class="pre"><span class="Punctuation">,</span></span></tt> <tt class="docutils literal"><span class="pre"><span class="Operator">.</span></span></tt> <tt class="docutils literal"><span class="pre"><span class="Punctuation">(</span></span></tt> <tt class="docutils literal"><span class="pre"><span class="Punctuation">)</span></span></tt> <tt class="docutils literal"><span class="pre"><span class="Operator">/</span></span></tt> <tt class="docutils literal"><span class="pre"><span class="Punctuation">[</span></span></tt> <tt class="docutils literal"><span class="pre"><span class="Punctuation">]</span></span></tt>. A literal <tt class="docutils literal"><span class="pre"><span class="CharLit">'</span></span></tt> can be specified with <tt class="docutils literal"><span class="pre"><span class="CharLit">''</span></span></tt>.</p>
  593. <p>However you don't need to necessarily separate format patterns, as an unambiguous format string like <tt class="docutils literal"><span class="pre"><span class="Identifier">yyyyMMddhhmmss</span></span></tt> is also valid (although only for years in the range 1..9999).</p>
  594. <h1><a class="toc-backref" id="duration-vs-timeinterval" href="#duration-vs-timeinterval">Duration vs TimeInterval</a></h1><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">times</span></span></tt> module exports two similar types that are both used to represent some amount of time: <a class="reference external" href="#Duration">Duration</a> and <a class="reference external" href="#TimeInterval">TimeInterval</a>. This section explains how they differ and when one should be preferred over the other (short answer: use <tt class="docutils literal"><span class="pre"><span class="Identifier">Duration</span></span></tt> unless support for months and years is needed).</p>
  595. <h2><a class="toc-backref" id="duration-vs-timeinterval-duration" href="#duration-vs-timeinterval-duration">Duration</a></h2><p>A <tt class="docutils literal"><span class="pre"><span class="Identifier">Duration</span></span></tt> represents a duration of time stored as seconds and nanoseconds. A <tt class="docutils literal"><span class="pre"><span class="Identifier">Duration</span></span></tt> is always fully normalized, so <tt class="docutils literal"><span class="pre"><span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span></span></tt> and <tt class="docutils literal"><span class="pre"><span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">minutes</span> <span class="Operator">=</span> <span class="DecNumber">60</span><span class="Punctuation">)</span></span></tt> are equivalent.</p>
  596. <p>Arithmetic with a <tt class="docutils literal"><span class="pre"><span class="Identifier">Duration</span></span></tt> is very fast, especially when used with the <tt class="docutils literal"><span class="pre"><span class="Identifier">Time</span></span></tt> type, since it only involves basic arithmetic. Because <tt class="docutils literal"><span class="pre"><span class="Identifier">Duration</span></span></tt> is more performant and easier to understand it should generally preferred.</p>
  597. <h2><a class="toc-backref" id="duration-vs-timeinterval-timeinterval" href="#duration-vs-timeinterval-timeinterval">TimeInterval</a></h2><p>A <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt> represents an amount of time expressed in calendar units, for example &quot;1 year and 2 days&quot;. Since some units cannot be normalized (the length of a year is different for leap years for example), the <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt> type uses separate fields for every unit. The <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt>'s returned from this module generally don't normalize <strong>anything</strong>, so even units that could be normalized (like seconds, milliseconds and so on) are left untouched.</p>
  598. <p>Arithmetic with a <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt> can be very slow, because it requires timezone information.</p>
  599. <p>Since it's slower and more complex, the <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt> type should be avoided unless the program explicitly needs the features it offers that <tt class="docutils literal"><span class="pre"><span class="Identifier">Duration</span></span></tt> doesn't have.</p>
  600. <h2><a class="toc-backref" id="duration-vs-timeinterval-how-long-is-a-dayqmark" href="#duration-vs-timeinterval-how-long-is-a-dayqmark">How long is a day?</a></h2><p>It should be especially noted that the handling of days differs between <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt> and <tt class="docutils literal"><span class="pre"><span class="Identifier">Duration</span></span></tt>. The <tt class="docutils literal"><span class="pre"><span class="Identifier">Duration</span></span></tt> type always treats a day as exactly 86400 seconds. For <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt>, it's more complex.</p>
  601. <p>As an example, consider the amount of time between these two timestamps, both in the same timezone:</p>
  602. <ul class="simple"><li>2018-03-25T12:00+02:00</li>
  603. <li>2018-03-26T12:00+01:00</li>
  604. </ul>
  605. <p>If only the date &amp; time is considered, it appears that exactly one day has passed. However, the UTC offsets are different, which means that the UTC offset was changed somewhere in between. This happens twice each year for timezones that use daylight savings time. Because of this change, the amount of time that has passed is actually 25 hours.</p>
  606. <p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt> type uses calendar units, and will say that exactly one day has passed. The <tt class="docutils literal"><span class="pre"><span class="Identifier">Duration</span></span></tt> type on the other hand normalizes everything to seconds, and will therefore say that 90000 seconds has passed, which is the same as 25 hours.</p>
  607. <h1><a class="toc-backref" id="see-also" href="#see-also">See also</a></h1><ul class="simple"><li><a class="reference external" href="monotimes.html">monotimes module</a></li>
  608. </ul>
  609. </p>
  610. <div class="section" id="6">
  611. <h1><a class="toc-backref" href="#6">Imports</a></h1>
  612. <dl class="item">
  613. <a class="reference external" href="strutils.html">strutils</a>, <a class="reference external" href="math.html">math</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="since.html">since</a>, <a class="reference external" href="assertions.html">assertions</a>, <a class="reference external" href="posix.html">posix</a>
  614. </dl>
  615. </div>
  616. <div class="section" id="7">
  617. <h1><a class="toc-backref" href="#7">Types</a></h1>
  618. <dl class="item">
  619. <div id="DateTime">
  620. <dt><pre><a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <a href="system.html#RootObj"><span class="Identifier">RootObj</span></a></pre></dt>
  621. <dd>
  622. Represents a time in different parts. Although this type can represent leap seconds, they are generally not supported in this module. They are not ignored, but the <tt class="docutils literal"><span class="pre"><span class="Identifier">DateTime</span></span></tt>'s returned by procedures in this module will never have a leap second.
  623. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L316" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  624. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L316" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  625. </dd>
  626. </div>
  627. <div id="DateTimeLocale">
  628. <dt><pre><a href="times.html#DateTimeLocale"><span class="Identifier">DateTimeLocale</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
  629. <span class="Identifier">MMM</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#array"><span class="Identifier">array</span></a><span class="Other">[</span><span class="Identifier">mJan</span> <span class="Operator">..</span> <span class="Identifier">mDec</span><span class="Other">,</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">]</span>
  630. <span class="Identifier">MMMM</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#array"><span class="Identifier">array</span></a><span class="Other">[</span><span class="Identifier">mJan</span> <span class="Operator">..</span> <span class="Identifier">mDec</span><span class="Other">,</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">]</span>
  631. <span class="Identifier">ddd</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#array"><span class="Identifier">array</span></a><span class="Other">[</span><span class="Identifier">dMon</span> <span class="Operator">..</span> <span class="Identifier">dSun</span><span class="Other">,</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">]</span>
  632. <span class="Identifier">dddd</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#array"><span class="Identifier">array</span></a><span class="Other">[</span><span class="Identifier">dMon</span> <span class="Operator">..</span> <span class="Identifier">dSun</span><span class="Other">,</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">]</span></pre></dt>
  633. <dd>
  634. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1548" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  635. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1548" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  636. </dd>
  637. </div>
  638. <div id="Duration">
  639. <dt><pre><a href="times.html#Duration"><span class="Identifier">Duration</span></a> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
  640. <dd>
  641. <p>Represents a fixed duration of time, meaning a duration that has constant length independent of the context.</p>
  642. <p>To create a new <tt class="docutils literal"><span class="pre"><span class="Identifier">Duration</span></span></tt>, use <a class="reference external" href="#initDuration,int64,int64,int64,int64,int64,int64,int64,int64">initDuration</a>. Instead of trying to access the private attributes, use <a class="reference external" href="#inSeconds,Duration">inSeconds</a> for converting to seconds and <a class="reference external" href="#inNanoseconds,Duration">inNanoseconds</a> for converting to nanoseconds.</p>
  643. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L334" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  644. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L334" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  645. </dd>
  646. </div>
  647. <div id="DurationParts">
  648. <dt><pre><a href="times.html#DurationParts"><span class="Identifier">DurationParts</span></a> <span class="Other">=</span> <a href="system.html#array"><span class="Identifier">array</span></a><span class="Other">[</span><span class="Identifier">FixedTimeUnit</span><span class="Other">,</span> <a href="system.html#int64"><span class="Identifier">int64</span></a><span class="Other">]</span></pre></dt>
  649. <dd>
  650. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L398" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  651. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L398" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  652. </dd>
  653. </div>
  654. <div id="FixedTimeUnit">
  655. <dt><pre><a href="times.html#FixedTimeUnit"><span class="Identifier">FixedTimeUnit</span></a> <span class="Other">=</span> <a href="system.html#range"><span class="Identifier">range</span></a><span class="Other">[</span><span class="Identifier">Nanoseconds</span> <span class="Operator">..</span> <span class="Identifier">Weeks</span><span class="Other">]</span></pre></dt>
  656. <dd>
  657. Subrange of <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeUnit</span></span></tt> that only includes units of fixed duration. These are the units that can be represented by a <tt class="docutils literal"><span class="pre"><span class="Identifier">Duration</span></span></tt>.
  658. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L349" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  659. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L349" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  660. </dd>
  661. </div>
  662. <div id="HourRange">
  663. <dt><pre><a href="times.html#HourRange"><span class="Identifier">HourRange</span></a> <span class="Other">=</span> <a href="system.html#range"><span class="Identifier">range</span></a><span class="Other">[</span><span class="DecNumber">0</span> <span class="Operator">..</span> <span class="DecNumber">23</span><span class="Other">]</span></pre></dt>
  664. <dd>
  665. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L297" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  666. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L297" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  667. </dd>
  668. </div>
  669. <div id="IsoWeekRange">
  670. <dt><pre><a href="times.html#IsoWeekRange"><span class="Identifier">IsoWeekRange</span></a> <span class="Other">=</span> <a href="system.html#range"><span class="Identifier">range</span></a><span class="Other">[</span><span class="DecNumber">1</span> <span class="Operator">..</span> <span class="DecNumber">53</span><span class="Other">]</span></pre></dt>
  671. <dd>
  672. An ISO 8601 calendar week number.
  673. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L305" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  674. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L305" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  675. </dd>
  676. </div>
  677. <div id="IsoYear">
  678. <dt><pre><a href="times.html#IsoYear"><span class="Identifier">IsoYear</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <a href="system.html#int"><span class="Identifier">int</span></a></pre></dt>
  679. <dd>
  680. An ISO 8601 calendar year number.<div class="admonition admonition-warning"><span class="admonition-warning-text"><b>Warning:</b></span>
  681. The ISO week-based year can correspond to the following or previous year from 29 December to January 3.</div>
  682. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L307" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  683. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L307" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  684. </dd>
  685. </div>
  686. <div id="MinuteRange">
  687. <dt><pre><a href="times.html#MinuteRange"><span class="Identifier">MinuteRange</span></a> <span class="Other">=</span> <a href="system.html#range"><span class="Identifier">range</span></a><span class="Other">[</span><span class="DecNumber">0</span> <span class="Operator">..</span> <span class="DecNumber">59</span><span class="Other">]</span></pre></dt>
  688. <dd>
  689. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L298" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  690. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L298" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  691. </dd>
  692. </div>
  693. <div id="Month">
  694. <dt><pre><a href="times.html#Month"><span class="Identifier">Month</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
  695. <span class="Identifier">mJan</span> <span class="Other">=</span> <span class="Other">(</span><span class="DecNumber">1</span><span class="Other">,</span> <span class="StringLit">&quot;January&quot;</span><span class="Other">)</span><span class="Other">,</span> <span class="Identifier">mFeb</span> <span class="Other">=</span> <span class="StringLit">&quot;February&quot;</span><span class="Other">,</span> <span class="Identifier">mMar</span> <span class="Other">=</span> <span class="StringLit">&quot;March&quot;</span><span class="Other">,</span> <span class="Identifier">mApr</span> <span class="Other">=</span> <span class="StringLit">&quot;April&quot;</span><span class="Other">,</span>
  696. <span class="Identifier">mMay</span> <span class="Other">=</span> <span class="StringLit">&quot;May&quot;</span><span class="Other">,</span> <span class="Identifier">mJun</span> <span class="Other">=</span> <span class="StringLit">&quot;June&quot;</span><span class="Other">,</span> <span class="Identifier">mJul</span> <span class="Other">=</span> <span class="StringLit">&quot;July&quot;</span><span class="Other">,</span> <span class="Identifier">mAug</span> <span class="Other">=</span> <span class="StringLit">&quot;August&quot;</span><span class="Other">,</span>
  697. <span class="Identifier">mSep</span> <span class="Other">=</span> <span class="StringLit">&quot;September&quot;</span><span class="Other">,</span> <span class="Identifier">mOct</span> <span class="Other">=</span> <span class="StringLit">&quot;October&quot;</span><span class="Other">,</span> <span class="Identifier">mNov</span> <span class="Other">=</span> <span class="StringLit">&quot;November&quot;</span><span class="Other">,</span> <span class="Identifier">mDec</span> <span class="Other">=</span> <span class="StringLit">&quot;December&quot;</span></pre></dt>
  698. <dd>
  699. Represents a month. Note that the enum starts at <tt class="docutils literal"><span class="pre"><span class="DecNumber">1</span></span></tt>, so <tt class="docutils literal"><span class="pre"><span class="Identifier">ord</span><span class="Punctuation">(</span><span class="Identifier">month</span><span class="Punctuation">)</span></span></tt> will give the month number in the range <tt class="docutils literal"><span class="pre"><span class="FloatNumber">1.</span><span class="Operator">.</span><span class="DecNumber">12</span></span></tt>.
  700. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L270" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  701. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L270" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  702. </dd>
  703. </div>
  704. <div id="MonthdayRange">
  705. <dt><pre><a href="times.html#MonthdayRange"><span class="Identifier">MonthdayRange</span></a> <span class="Other">=</span> <a href="system.html#range"><span class="Identifier">range</span></a><span class="Other">[</span><span class="DecNumber">1</span> <span class="Operator">..</span> <span class="DecNumber">31</span><span class="Other">]</span></pre></dt>
  706. <dd>
  707. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L296" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  708. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L296" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  709. </dd>
  710. </div>
  711. <div id="NanosecondRange">
  712. <dt><pre><a href="times.html#NanosecondRange"><span class="Identifier">NanosecondRange</span></a> <span class="Other">=</span> <a href="system.html#range"><span class="Identifier">range</span></a><span class="Other">[</span><span class="DecNumber">0</span> <span class="Operator">..</span> <span class="DecNumber">999999999</span><span class="Other">]</span></pre></dt>
  713. <dd>
  714. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L303" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  715. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L303" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  716. </dd>
  717. </div>
  718. <div id="SecondRange">
  719. <dt><pre><a href="times.html#SecondRange"><span class="Identifier">SecondRange</span></a> <span class="Other">=</span> <a href="system.html#range"><span class="Identifier">range</span></a><span class="Other">[</span><span class="DecNumber">0</span> <span class="Operator">..</span> <span class="DecNumber">60</span><span class="Other">]</span></pre></dt>
  720. <dd>
  721. Includes the value 60 to allow for a leap second. Note however that the <tt class="docutils literal"><span class="pre"><span class="Identifier">second</span></span></tt> of a <tt class="docutils literal"><span class="pre"><span class="Identifier">DateTime</span></span></tt> will never be a leap second.
  722. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L299" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  723. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L299" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  724. </dd>
  725. </div>
  726. <div id="Time">
  727. <dt><pre><a href="times.html#Time"><span class="Identifier">Time</span></a> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
  728. <dd>
  729. Represents a point in time.
  730. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L312" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  731. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L312" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  732. </dd>
  733. </div>
  734. <div id="TimeFormat">
  735. <dt><pre><a href="times.html#TimeFormat"><span class="Identifier">TimeFormat</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
  736. <span class="Comment">## \</span>
  737. <span class="Comment">## Contains the patterns encoded as bytes.</span>
  738. <span class="Comment">## Literal values are encoded in a special way.</span>
  739. <span class="Comment">## They start with `Lit.byte`, then the length of the literal, then the</span>
  740. <span class="Comment">## raw char values of the literal. For example, the literal `foo` would</span>
  741. <span class="Comment">## be encoded as `@[Lit.byte, 3.byte, 'f'.byte, 'o'.byte, 'o'.byte]`.</span></pre></dt>
  742. <dd>
  743. <p>Represents a format for parsing and printing time types.</p>
  744. <p>To create a new <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeFormat</span></span></tt> use <a class="reference external" href="#initTimeFormat,string">initTimeFormat proc</a>.</p>
  745. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1606" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  746. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1606" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  747. </dd>
  748. </div>
  749. <div id="TimeFormatParseError">
  750. <dt><pre><a href="times.html#TimeFormatParseError"><span class="Identifier">TimeFormatParseError</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <a href="exceptions.html#ValueError"><span class="Identifier">ValueError</span></a></pre></dt>
  751. <dd>
  752. Raised when parsing a <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeFormat</span></span></tt> string fails.
  753. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1622" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  754. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1622" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  755. </dd>
  756. </div>
  757. <div id="TimeInterval">
  758. <dt><pre><a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
  759. <span class="Identifier">nanoseconds</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> <span class="Comment">## The number of nanoseconds</span>
  760. <span class="Identifier">microseconds</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> <span class="Comment">## The number of microseconds</span>
  761. <span class="Identifier">milliseconds</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> <span class="Comment">## The number of milliseconds</span>
  762. <span class="Identifier">seconds</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> <span class="Comment">## The number of seconds</span>
  763. <span class="Identifier">minutes</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> <span class="Comment">## The number of minutes</span>
  764. <span class="Identifier">hours</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> <span class="Comment">## The number of hours</span>
  765. <span class="Identifier">days</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> <span class="Comment">## The number of days</span>
  766. <span class="Identifier">weeks</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> <span class="Comment">## The number of weeks</span>
  767. <span class="Identifier">months</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> <span class="Comment">## The number of months</span>
  768. <span class="Identifier">years</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> <span class="Comment">## The number of years</span></pre></dt>
  769. <dd>
  770. <p>
  771. Represents a non-fixed duration of time. Can be used to add and subtract non-fixed time units from a <a class="reference external" href="#DateTime">DateTime</a> or <a class="reference external" href="#Time">Time</a>.</p>
  772. <p>Create a new <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt> with <a class="reference external" href="#initTimeInterval,int,int,int,int,int,int,int,int,int,int">initTimeInterval proc</a>.</p>
  773. <p>Note that <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt> doesn't represent a fixed duration of time, since the duration of some units depend on the context (e.g a year can be either 365 or 366 days long). The non-fixed time units are years, months, days and week.</p>
  774. <p>Note that <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt>'s returned from the <tt class="docutils literal"><span class="pre"><span class="Identifier">times</span></span></tt> module are never normalized. If you want to normalize a time unit, <a class="reference external" href="#Duration">Duration</a> should be used instead.</p>
  775. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L353" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  776. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L353" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  777. </dd>
  778. </div>
  779. <div id="TimeIntervalParts">
  780. <dt><pre><a href="times.html#TimeIntervalParts"><span class="Identifier">TimeIntervalParts</span></a> <span class="Other">=</span> <a href="system.html#array"><span class="Identifier">array</span></a><span class="Other">[</span><span class="Identifier">TimeUnit</span><span class="Other">,</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">]</span></pre></dt>
  781. <dd>
  782. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L399" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  783. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L399" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  784. </dd>
  785. </div>
  786. <div id="TimeParseError">
  787. <dt><pre><a href="times.html#TimeParseError"><span class="Identifier">TimeParseError</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <a href="exceptions.html#ValueError"><span class="Identifier">ValueError</span></a></pre></dt>
  788. <dd>
  789. Raised when parsing input using a <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeFormat</span></span></tt> fails.
  790. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1619" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  791. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1619" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  792. </dd>
  793. </div>
  794. <div id="TimeUnit">
  795. <dt><pre><a href="times.html#TimeUnit"><span class="Identifier">TimeUnit</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
  796. <span class="Identifier">Nanoseconds</span><span class="Other">,</span> <span class="Identifier">Microseconds</span><span class="Other">,</span> <span class="Identifier">Milliseconds</span><span class="Other">,</span> <span class="Identifier">Seconds</span><span class="Other">,</span> <span class="Identifier">Minutes</span><span class="Other">,</span> <span class="Identifier">Hours</span><span class="Other">,</span> <span class="Identifier">Days</span><span class="Other">,</span> <span class="Identifier">Weeks</span><span class="Other">,</span>
  797. <span class="Identifier">Months</span><span class="Other">,</span> <span class="Identifier">Years</span></pre></dt>
  798. <dd>
  799. Different units of time.
  800. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L345" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  801. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L345" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  802. </dd>
  803. </div>
  804. <div id="Timezone">
  805. <dt><pre><a href="times.html#Timezone"><span class="Identifier">Timezone</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <span class="Keyword">object</span></pre></dt>
  806. <dd>
  807. Timezone interface for supporting <a class="reference external" href="#DateTime">DateTime</a>s of arbitrary timezones. The <tt class="docutils literal"><span class="pre"><span class="Identifier">times</span></span></tt> module only supplies implementations for the system's local time and UTC.
  808. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L380" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  809. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L380" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  810. </dd>
  811. </div>
  812. <div id="WeekDay">
  813. <dt><pre><a href="times.html#WeekDay"><span class="Identifier">WeekDay</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
  814. <span class="Identifier">dMon</span> <span class="Other">=</span> <span class="StringLit">&quot;Monday&quot;</span><span class="Other">,</span> <span class="Identifier">dTue</span> <span class="Other">=</span> <span class="StringLit">&quot;Tuesday&quot;</span><span class="Other">,</span> <span class="Identifier">dWed</span> <span class="Other">=</span> <span class="StringLit">&quot;Wednesday&quot;</span><span class="Other">,</span> <span class="Identifier">dThu</span> <span class="Other">=</span> <span class="StringLit">&quot;Thursday&quot;</span><span class="Other">,</span>
  815. <span class="Identifier">dFri</span> <span class="Other">=</span> <span class="StringLit">&quot;Friday&quot;</span><span class="Other">,</span> <span class="Identifier">dSat</span> <span class="Other">=</span> <span class="StringLit">&quot;Saturday&quot;</span><span class="Other">,</span> <span class="Identifier">dSun</span> <span class="Other">=</span> <span class="StringLit">&quot;Sunday&quot;</span></pre></dt>
  816. <dd>
  817. Represents a weekday.
  818. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L286" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  819. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L286" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  820. </dd>
  821. </div>
  822. <div id="YeardayRange">
  823. <dt><pre><a href="times.html#YeardayRange"><span class="Identifier">YeardayRange</span></a> <span class="Other">=</span> <a href="system.html#range"><span class="Identifier">range</span></a><span class="Other">[</span><span class="DecNumber">0</span> <span class="Operator">..</span> <span class="DecNumber">365</span><span class="Other">]</span></pre></dt>
  824. <dd>
  825. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L302" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  826. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L302" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  827. </dd>
  828. </div>
  829. <div id="ZonedTime">
  830. <dt><pre><a href="times.html#ZonedTime"><span class="Identifier">ZonedTime</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
  831. <span class="Identifier">time</span><span class="Operator">*</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a> <span class="Comment">## The point in time being represented.</span>
  832. <span class="Identifier">utcOffset</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> <span class="Comment">## The offset in seconds west of UTC,</span>
  833. <span class="Comment">## including any offset due to DST.</span>
  834. <span class="Identifier">isDst</span><span class="Operator">*</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> <span class="Comment">## Determines whether DST is in effect.</span></pre></dt>
  835. <dd>
  836. Represents a point in time with an associated UTC offset and DST flag. This type is only used for implementing timezones.
  837. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L390" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  838. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L390" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  839. </dd>
  840. </div>
  841. </dl>
  842. </div>
  843. <div class="section" id="10">
  844. <h1><a class="toc-backref" href="#10">Consts</a></h1>
  845. <dl class="item">
  846. <div id="DefaultLocale">
  847. <dt><pre><a href="times.html#DefaultLocale"><span class="Identifier">DefaultLocale</span></a> <span class="Other">=</span> <span class="Other">(</span><span class="Identifier">MMM</span><span class="Other">:</span> <span class="Other">[</span><span class="StringLit">&quot;Jan&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Feb&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Mar&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Apr&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;May&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Jun&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Jul&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Aug&quot;</span><span class="Other">,</span>
  848. <span class="StringLit">&quot;Sep&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Oct&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Nov&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Dec&quot;</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">MMMM</span><span class="Other">:</span> <span class="Other">[</span><span class="StringLit">&quot;January&quot;</span><span class="Other">,</span>
  849. <span class="StringLit">&quot;February&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;March&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;April&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;May&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;June&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;July&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;August&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;September&quot;</span><span class="Other">,</span>
  850. <span class="StringLit">&quot;October&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;November&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;December&quot;</span><span class="Other">]</span><span class="Other">,</span>
  851. <span class="Identifier">ddd</span><span class="Other">:</span> <span class="Other">[</span><span class="StringLit">&quot;Mon&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Tue&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Wed&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Thu&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Fri&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Sat&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Sun&quot;</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">dddd</span><span class="Other">:</span> <span class="Other">[</span>
  852. <span class="StringLit">&quot;Monday&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Tuesday&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Wednesday&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Thursday&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Friday&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Saturday&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;Sunday&quot;</span><span class="Other">]</span><span class="Other">)</span></pre></dt>
  853. <dd>
  854. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1626" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  855. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1626" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  856. </dd>
  857. </div>
  858. <div id="DurationZero">
  859. <dt><pre><a href="times.html#DurationZero"><span class="Identifier">DurationZero</span></a> <span class="Other">=</span> <span class="Other">(</span><span class="Identifier">seconds</span><span class="Other">:</span> <span class="DecNumber">0</span><span class="Other">,</span> <span class="Identifier">nanosecond</span><span class="Other">:</span> <span class="DecNumber">0</span><span class="Other">)</span></pre></dt>
  860. <dd>
  861. <p>
  862. Zero value for durations. Useful for comparisons.</p>
  863. <p><pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span> <span class="Operator">&gt;</span> <span class="Identifier">DurationZero</span>
  864. <span class="Identifier">doAssert</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">0</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Identifier">DurationZero</span></pre></p>
  865. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L658" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  866. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L658" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  867. </dd>
  868. </div>
  869. </dl>
  870. </div>
  871. <div class="section" id="12">
  872. <h1><a class="toc-backref" href="#12">Procs</a></h1>
  873. <dl class="item">
  874. <div id="$-procs-all">
  875. <div id="$,DateTime">
  876. <dt><pre><span class="Keyword">proc</span> <a href="#%24%2CDateTime"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  877. <dd>
  878. Converts a <tt class="docutils literal"><span class="pre"><span class="Identifier">DateTime</span></span></tt> object to a string representation. It uses the format <tt class="docutils literal"><span class="pre"><span class="Identifier">yyyy</span><span class="Operator">-</span><span class="Identifier">MM</span><span class="Operator">-</span><span class="Identifier">dd</span><span class="CharLit">'T'</span><span class="Identifier">HH</span><span class="Punctuation">:</span><span class="Identifier">mm</span><span class="Punctuation">:</span><span class="Identifier">sszzz</span></span></tt>.
  879. <p><strong class="examples_text">Example:</strong></p>
  880. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dt</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2000</span><span class="Punctuation">,</span> <span class="Identifier">mJan</span><span class="Punctuation">,</span> <span class="DecNumber">01</span><span class="Punctuation">,</span> <span class="DecNumber">12</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  881. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Identifier">dt</span> <span class="Operator">==</span> <span class="StringLit">&quot;2000-01-01T12:00:00Z&quot;</span>
  882. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Identifier">default</span><span class="Punctuation">(</span><span class="Identifier">DateTime</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;Uninitialized DateTime&quot;</span></pre>
  883. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2331" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  884. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2331" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  885. </dd>
  886. </div>
  887. <div id="$,Duration">
  888. <dt><pre><span class="Keyword">proc</span> <a href="#%24%2CDuration"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">dur</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  889. <dd>
  890. Human friendly string representation of a <tt class="docutils literal"><span class="pre"><span class="Identifier">Duration</span></span></tt>.
  891. <p><strong class="examples_text">Example:</strong></p>
  892. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">2</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;2 seconds&quot;</span>
  893. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">weeks</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">,</span> <span class="Identifier">days</span> <span class="Operator">=</span> <span class="DecNumber">2</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;1 week and 2 days&quot;</span>
  894. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">,</span> <span class="Identifier">minutes</span> <span class="Operator">=</span> <span class="DecNumber">2</span><span class="Punctuation">,</span> <span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">3</span><span class="Punctuation">)</span> <span class="Operator">==</span>
  895. <span class="StringLit">&quot;1 hour, 2 minutes, and 3 seconds&quot;</span>
  896. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">milliseconds</span> <span class="Operator">=</span> <span class="Operator">-</span><span class="DecNumber">1500</span><span class="Punctuation">)</span> <span class="Operator">==</span>
  897. <span class="StringLit">&quot;-1 second and -500 milliseconds&quot;</span></pre>
  898. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L797" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  899. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L797" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  900. </dd>
  901. </div>
  902. <div id="$,TimeFormat">
  903. <dt><pre><span class="Keyword">proc</span> <a href="#%24%2CTimeFormat"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="times.html#TimeFormat"><span class="Identifier">TimeFormat</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  904. <dd>
  905. Returns the format string that was used to construct <tt class="docutils literal"><span class="pre"><span class="Identifier">f</span></span></tt>.
  906. <p><strong class="examples_text">Example:</strong></p>
  907. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">f</span> <span class="Operator">=</span> <span class="Identifier">initTimeFormat</span><span class="Punctuation">(</span><span class="StringLit">&quot;yyyy-MM-dd&quot;</span><span class="Punctuation">)</span>
  908. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Identifier">f</span> <span class="Operator">==</span> <span class="StringLit">&quot;yyyy-MM-dd&quot;</span></pre>
  909. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1638" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  910. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1638" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  911. </dd>
  912. </div>
  913. <div id="$,IsoYear">
  914. <dt><pre><span class="Keyword">proc</span> <a href="#%24%2CIsoYear"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">p</span><span class="Other">:</span> <a href="times.html#IsoYear"><span class="Identifier">IsoYear</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span class="Identifier">borrow</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  915. <dd>
  916. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L565" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  917. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L565" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  918. </dd>
  919. </div>
  920. <div id="$,TimeInterval">
  921. <dt><pre><span class="Keyword">proc</span> <a href="#%24%2CTimeInterval"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">ti</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  922. <dd>
  923. Get string representation of <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt>.
  924. <p><strong class="examples_text">Example:</strong></p>
  925. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Identifier">initTimeInterval</span><span class="Punctuation">(</span><span class="Identifier">years</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">,</span> <span class="Identifier">nanoseconds</span> <span class="Operator">=</span> <span class="DecNumber">123</span><span class="Punctuation">)</span> <span class="Operator">==</span>
  926. <span class="StringLit">&quot;1 year and 123 nanoseconds&quot;</span>
  927. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Identifier">initTimeInterval</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;0 nanoseconds&quot;</span></pre>
  928. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2571" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  929. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2571" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  930. </dd>
  931. </div>
  932. <div id="$,Time">
  933. <dt><pre><span class="Keyword">proc</span> <a href="#%24%2CTime"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">time</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  934. <dd>
  935. Converts a <tt class="docutils literal"><span class="pre"><span class="Identifier">Time</span></span></tt> value to a string representation. It will use the local time zone and use the format <tt class="docutils literal"><span class="pre"><span class="Identifier">yyyy</span><span class="Operator">-</span><span class="Identifier">MM</span><span class="Operator">-</span><span class="Identifier">dd</span><span class="CharLit">'T'</span><span class="Identifier">HH</span><span class="Punctuation">:</span><span class="Identifier">mm</span><span class="Punctuation">:</span><span class="Identifier">sszzz</span></span></tt>.
  936. <p><strong class="examples_text">Example:</strong></p>
  937. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dt</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">1970</span><span class="Punctuation">,</span> <span class="Identifier">mJan</span><span class="Punctuation">,</span> <span class="DecNumber">01</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">local</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  938. <span class="Keyword">let</span> <span class="Identifier">tm</span> <span class="Operator">=</span> <span class="Identifier">dt</span><span class="Operator">.</span><span class="Identifier">toTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span>
  939. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Identifier">tm</span> <span class="Operator">==</span> <span class="StringLit">&quot;1970-01-01T00:00:00&quot;</span> <span class="Operator">&amp;</span> <span class="Identifier">format</span><span class="Punctuation">(</span><span class="Identifier">dt</span><span class="Punctuation">,</span> <span class="StringLit">&quot;zzz&quot;</span><span class="Punctuation">)</span></pre>
  940. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2343" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  941. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2343" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  942. </dd>
  943. </div>
  944. <div id="$,Timezone">
  945. <dt><pre><span class="Keyword">proc</span> <a href="#%24%2CTimezone"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  946. <dd>
  947. Returns the name of the timezone.
  948. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1249" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  949. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1249" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  950. </dd>
  951. </div>
  952. </div>
  953. <div id="*-procs-all">
  954. <div id="*,Duration,int64">
  955. <dt><pre><span class="Keyword">proc</span> <a href="#%2A%2CDuration%2Cint64"><span class="Identifier">`*`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span>
  956. <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntMulDuration&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  957. <dd>
  958. Multiply a duration by some scalar.
  959. <p><strong class="examples_text">Example:</strong></p>
  960. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span> <span class="Operator">*</span> <span class="DecNumber">5</span> <span class="Operator">==</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">5</span><span class="Punctuation">)</span>
  961. <span class="Identifier">doAssert</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">minutes</span> <span class="Operator">=</span> <span class="DecNumber">45</span><span class="Punctuation">)</span> <span class="Operator">*</span> <span class="DecNumber">3</span> <span class="Operator">==</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">2</span><span class="Punctuation">,</span> <span class="Identifier">minutes</span> <span class="Operator">=</span> <span class="DecNumber">15</span><span class="Punctuation">)</span></pre>
  962. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L867" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  963. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L867" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  964. </dd>
  965. </div>
  966. <div id="*,int64,Duration">
  967. <dt><pre><span class="Keyword">proc</span> <a href="#%2A%2Cint64%2CDuration"><span class="Identifier">`*`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span>
  968. <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntMulInt64Duration&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  969. <dd>
  970. Multiply a duration by some scalar.
  971. <p><strong class="examples_text">Example:</strong></p>
  972. <pre class="listing"><span class="Identifier">doAssert</span> <span class="DecNumber">5</span> <span class="Operator">*</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">5</span><span class="Punctuation">)</span>
  973. <span class="Identifier">doAssert</span> <span class="DecNumber">3</span> <span class="Operator">*</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">minutes</span> <span class="Operator">=</span> <span class="DecNumber">45</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">2</span><span class="Punctuation">,</span> <span class="Identifier">minutes</span> <span class="Operator">=</span> <span class="DecNumber">15</span><span class="Punctuation">)</span></pre>
  974. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L859" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  975. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L859" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  976. </dd>
  977. </div>
  978. </div>
  979. <div id="*=-procs-all">
  980. <div id="*=,Duration,int">
  981. <dt><pre><span class="Keyword">proc</span> <a href="#%2A%3D%2CDuration%2Cint"><span class="Identifier">`*=`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  982. <dd>
  983. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L881" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  984. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L881" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  985. </dd>
  986. </div>
  987. </div>
  988. <div id="+-procs-all">
  989. <div id="+,Duration,Duration">
  990. <dt><pre><span class="Keyword">proc</span> <a href="#%2B%2CDuration%2CDuration"><span class="Identifier">`+`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span>
  991. <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntAddDuration&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  992. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  993. <dd>
  994. Add two durations together.
  995. <p><strong class="examples_text">Example:</strong></p>
  996. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span> <span class="Operator">+</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">days</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span> <span class="Operator">==</span>
  997. <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">,</span> <span class="Identifier">days</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span></pre>
  998. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L816" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  999. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L816" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1000. </dd>
  1001. </div>
  1002. <div id="+,Time,Duration">
  1003. <dt><pre><span class="Keyword">proc</span> <a href="#%2B%2CTime%2CDuration"><span class="Identifier">`+`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span>
  1004. <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntAddTime&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1005. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1006. <dd>
  1007. Add a duration of time to a <tt class="docutils literal"><span class="pre"><span class="Identifier">Time</span></span></tt>.
  1008. <p><strong class="examples_text">Example:</strong></p>
  1009. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Punctuation">(</span><span class="Identifier">fromUnix</span><span class="Punctuation">(</span><span class="DecNumber">0</span><span class="Punctuation">)</span> <span class="Operator">+</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Identifier">fromUnix</span><span class="Punctuation">(</span><span class="DecNumber">1</span><span class="Punctuation">)</span></pre>
  1010. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1010" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1011. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1010" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1012. </dd>
  1013. </div>
  1014. <div id="+,DateTime,Duration">
  1015. <dt><pre><span class="Keyword">proc</span> <a href="#%2B%2CDateTime%2CDuration"><span class="Identifier">`+`</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">dur</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1016. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1017. <dd>
  1018. <p><strong class="examples_text">Example:</strong></p>
  1019. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dt</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2017</span><span class="Punctuation">,</span> <span class="Identifier">mMar</span><span class="Punctuation">,</span> <span class="DecNumber">30</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  1020. <span class="Keyword">let</span> <span class="Identifier">dur</span> <span class="Operator">=</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">5</span><span class="Punctuation">)</span>
  1021. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Punctuation">(</span><span class="Identifier">dt</span> <span class="Operator">+</span> <span class="Identifier">dur</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;2017-03-30T05:00:00Z&quot;</span></pre>
  1022. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1456" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1023. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1456" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1024. </dd>
  1025. </div>
  1026. <div id="+,DateTime,TimeInterval">
  1027. <dt><pre><span class="Keyword">proc</span> <a href="#%2B%2CDateTime%2CTimeInterval"><span class="Identifier">`+`</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">interval</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1028. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1029. <dd>
  1030. <p>Adds <tt class="docutils literal"><span class="pre"><span class="Identifier">interval</span></span></tt> to <tt class="docutils literal"><span class="pre"><span class="Identifier">dt</span></span></tt>. Components from <tt class="docutils literal"><span class="pre"><span class="Identifier">interval</span></span></tt> are added in the order of their size, i.e. first the <tt class="docutils literal"><span class="pre"><span class="Identifier">years</span></span></tt> component, then the <tt class="docutils literal"><span class="pre"><span class="Identifier">months</span></span></tt> component and so on. The returned <tt class="docutils literal"><span class="pre"><span class="Identifier">DateTime</span></span></tt> will have the same timezone as the input.</p>
  1031. <p>Note that when adding months, monthday overflow is allowed. This means that if the resulting month doesn't have enough days it, the month will be incremented and the monthday will be set to the number of days overflowed. So adding one month to <tt class="docutils literal"><span class="pre"><span class="DecNumber">31</span> <span class="Identifier">October</span></span></tt> will result in <tt class="docutils literal"><span class="pre"><span class="DecNumber">31</span> <span class="Identifier">November</span></span></tt>, which will overflow and result in <tt class="docutils literal"><span class="pre"><span class="DecNumber">1</span> <span class="Identifier">December</span></span></tt>.</p>
  1032. <p><strong class="examples_text">Example:</strong></p>
  1033. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dt</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2017</span><span class="Punctuation">,</span> <span class="Identifier">mMar</span><span class="Punctuation">,</span> <span class="DecNumber">30</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  1034. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Punctuation">(</span><span class="Identifier">dt</span> <span class="Operator">+</span> <span class="FloatNumber">1.</span><span class="Identifier">months</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;2017-04-30T00:00:00Z&quot;</span>
  1035. <span class="Comment"># This is correct and happens due to monthday overflow.</span>
  1036. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Punctuation">(</span><span class="Identifier">dt</span> <span class="Operator">-</span> <span class="FloatNumber">1.</span><span class="Identifier">months</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;2017-03-02T00:00:00Z&quot;</span></pre>
  1037. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2681" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1038. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2681" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1039. </dd>
  1040. </div>
  1041. <div id="+,TimeInterval,TimeInterval">
  1042. <dt><pre><span class="Keyword">proc</span> <a href="#%2B%2CTimeInterval%2CTimeInterval"><span class="Identifier">`+`</span></a><span class="Other">(</span><span class="Identifier">ti1</span><span class="Other">,</span> <span class="Identifier">ti2</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1043. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1044. <dd>
  1045. Adds two <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt> objects together.
  1046. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2385" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1047. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2385" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1048. </dd>
  1049. </div>
  1050. <div id="+,Time,TimeInterval">
  1051. <dt><pre><span class="Keyword">proc</span> <a href="#%2B%2CTime%2CTimeInterval"><span class="Identifier">`+`</span></a><span class="Other">(</span><span class="Identifier">time</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">;</span> <span class="Identifier">interval</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1052. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1053. <dd>
  1054. Adds <tt class="docutils literal"><span class="pre"><span class="Identifier">interval</span></span></tt> to <tt class="docutils literal"><span class="pre"><span class="Identifier">time</span></span></tt>. If <tt class="docutils literal"><span class="pre"><span class="Identifier">interval</span></span></tt> contains any years, months, weeks or days the operation is performed in the local timezone.
  1055. <p><strong class="examples_text">Example:</strong></p>
  1056. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">tm</span> <span class="Operator">=</span> <span class="Identifier">fromUnix</span><span class="Punctuation">(</span><span class="DecNumber">0</span><span class="Punctuation">)</span>
  1057. <span class="Identifier">doAssert</span> <span class="Identifier">tm</span> <span class="Operator">+</span> <span class="FloatNumber">5.</span><span class="Identifier">seconds</span> <span class="Operator">==</span> <span class="Identifier">fromUnix</span><span class="Punctuation">(</span><span class="DecNumber">5</span><span class="Punctuation">)</span></pre>
  1058. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2721" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1059. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2721" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1060. </dd>
  1061. </div>
  1062. </div>
  1063. <div id="+=-procs-all">
  1064. <div id="+=,DateTime,Duration">
  1065. <dt><pre><span class="Keyword">proc</span> <a href="#%2B%3D%2CDateTime%2CDuration"><span class="Identifier">`+=`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1066. <dd>
  1067. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1496" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1068. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1496" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1069. </dd>
  1070. </div>
  1071. <div id="+=,DateTime,TimeInterval">
  1072. <dt><pre><span class="Keyword">proc</span> <a href="#%2B%3D%2CDateTime%2CTimeInterval"><span class="Identifier">`+=`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1073. <dd>
  1074. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2747" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1075. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2747" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1076. </dd>
  1077. </div>
  1078. <div id="+=,TimeInterval,TimeInterval">
  1079. <dt><pre><span class="Keyword">proc</span> <a href="#%2B%3D%2CTimeInterval%2CTimeInterval"><span class="Identifier">`+=`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1080. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1081. <dd>
  1082. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2430" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1083. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2430" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1084. </dd>
  1085. </div>
  1086. <div id="+=,Duration,Duration">
  1087. <dt><pre><span class="Keyword">proc</span> <a href="#%2B%3D%2CDuration%2CDuration"><span class="Identifier">`+=`</span></a><span class="Other">(</span><span class="Identifier">d1</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">;</span> <span class="Identifier">d2</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1088. <dd>
  1089. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L875" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1090. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L875" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1091. </dd>
  1092. </div>
  1093. <div id="+=,Time,Duration">
  1094. <dt><pre><span class="Keyword">proc</span> <a href="#%2B%3D%2CTime%2CDuration"><span class="Identifier">`+=`</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1095. <dd>
  1096. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1036" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1097. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1036" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1098. </dd>
  1099. </div>
  1100. <div id="+=,Time,TimeInterval">
  1101. <dt><pre><span class="Keyword">proc</span> <a href="#%2B%3D%2CTime%2CTimeInterval"><span class="Identifier">`+=`</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1102. <dd>
  1103. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2753" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1104. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2753" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1105. </dd>
  1106. </div>
  1107. </div>
  1108. <div id="--procs-all">
  1109. <div id="-,Duration,Duration">
  1110. <dt><pre><span class="Keyword">proc</span> <a href="#-%2CDuration%2CDuration"><span class="Identifier">`-`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span>
  1111. <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntSubDuration&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1112. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1113. <dd>
  1114. Subtract a duration from another.
  1115. <p><strong class="examples_text">Example:</strong></p>
  1116. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">,</span> <span class="Identifier">days</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span> <span class="Operator">-</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span> <span class="Operator">==</span>
  1117. <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">days</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span></pre>
  1118. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L823" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1119. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L823" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1120. </dd>
  1121. </div>
  1122. <div id="-,Time,Time">
  1123. <dt><pre><span class="Keyword">proc</span> <a href="#-%2CTime%2CTime"><span class="Identifier">`-`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span>
  1124. <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntDiffTime&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1125. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1126. <dd>
  1127. Computes the duration between two points in time.
  1128. <p><strong class="examples_text">Example:</strong></p>
  1129. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">initTime</span><span class="Punctuation">(</span><span class="DecNumber">1000</span><span class="Punctuation">,</span> <span class="DecNumber">100</span><span class="Punctuation">)</span> <span class="Operator">-</span> <span class="Identifier">initTime</span><span class="Punctuation">(</span><span class="DecNumber">500</span><span class="Punctuation">,</span> <span class="DecNumber">20</span><span class="Punctuation">)</span> <span class="Operator">==</span>
  1130. <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">minutes</span> <span class="Operator">=</span> <span class="DecNumber">8</span><span class="Punctuation">,</span> <span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">20</span><span class="Punctuation">,</span> <span class="Identifier">nanoseconds</span> <span class="Operator">=</span> <span class="DecNumber">80</span><span class="Punctuation">)</span></pre>
  1131. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1003" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1132. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1003" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1133. </dd>
  1134. </div>
  1135. <div id="-,Duration">
  1136. <dt><pre><span class="Keyword">proc</span> <a href="#-%2CDuration"><span class="Identifier">`-`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span>
  1137. <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntReverseDuration&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1138. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1139. <dd>
  1140. Reverse a duration.
  1141. <p><strong class="examples_text">Example:</strong></p>
  1142. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Operator">-</span><span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="Operator">-</span><span class="DecNumber">1</span><span class="Punctuation">)</span></pre>
  1143. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L830" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1144. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L830" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1145. </dd>
  1146. </div>
  1147. <div id="-,Time,Duration">
  1148. <dt><pre><span class="Keyword">proc</span> <a href="#-%2CTime%2CDuration"><span class="Identifier">`-`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span>
  1149. <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntSubTime&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1150. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1151. <dd>
  1152. Subtracts a duration of time from a <tt class="docutils literal"><span class="pre"><span class="Identifier">Time</span></span></tt>.
  1153. <p><strong class="examples_text">Example:</strong></p>
  1154. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Punctuation">(</span><span class="Identifier">fromUnix</span><span class="Punctuation">(</span><span class="DecNumber">0</span><span class="Punctuation">)</span> <span class="Operator">-</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Identifier">fromUnix</span><span class="Punctuation">(</span><span class="Operator">-</span><span class="DecNumber">1</span><span class="Punctuation">)</span></pre>
  1155. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1016" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1156. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1016" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1157. </dd>
  1158. </div>
  1159. <div id="-,DateTime,DateTime">
  1160. <dt><pre><span class="Keyword">proc</span> <a href="#-%2CDateTime%2CDateTime"><span class="Identifier">`-`</span></a><span class="Other">(</span><span class="Identifier">dt1</span><span class="Other">,</span> <span class="Identifier">dt2</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1161. <dd>
  1162. Compute the duration between <tt class="docutils literal"><span class="pre"><span class="Identifier">dt1</span></span></tt> and <tt class="docutils literal"><span class="pre"><span class="Identifier">dt2</span></span></tt>.
  1163. <p><strong class="examples_text">Example:</strong></p>
  1164. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dt1</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2017</span><span class="Punctuation">,</span> <span class="Identifier">mMar</span><span class="Punctuation">,</span> <span class="DecNumber">30</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  1165. <span class="Keyword">let</span> <span class="Identifier">dt2</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2017</span><span class="Punctuation">,</span> <span class="Identifier">mMar</span><span class="Punctuation">,</span> <span class="DecNumber">25</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  1166. <span class="Identifier">doAssert</span> <span class="Identifier">dt1</span> <span class="Operator">-</span> <span class="Identifier">dt2</span> <span class="Operator">==</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">days</span> <span class="Operator">=</span> <span class="DecNumber">5</span><span class="Punctuation">)</span></pre>
  1167. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1472" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1168. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1472" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1169. </dd>
  1170. </div>
  1171. <div id="-,DateTime,Duration">
  1172. <dt><pre><span class="Keyword">proc</span> <a href="#-%2CDateTime%2CDuration"><span class="Identifier">`-`</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">dur</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1173. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1174. <dd>
  1175. <p><strong class="examples_text">Example:</strong></p>
  1176. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dt</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2017</span><span class="Punctuation">,</span> <span class="Identifier">mMar</span><span class="Punctuation">,</span> <span class="DecNumber">30</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  1177. <span class="Keyword">let</span> <span class="Identifier">dur</span> <span class="Operator">=</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">days</span> <span class="Operator">=</span> <span class="DecNumber">5</span><span class="Punctuation">)</span>
  1178. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Punctuation">(</span><span class="Identifier">dt</span> <span class="Operator">-</span> <span class="Identifier">dur</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;2017-03-25T00:00:00Z&quot;</span></pre>
  1179. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1464" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1180. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1464" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1181. </dd>
  1182. </div>
  1183. <div id="-,DateTime,TimeInterval">
  1184. <dt><pre><span class="Keyword">proc</span> <a href="#-%2CDateTime%2CTimeInterval"><span class="Identifier">`-`</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">interval</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1185. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1186. <dd>
  1187. Subtract <tt class="docutils literal"><span class="pre"><span class="Identifier">interval</span></span></tt> from <tt class="docutils literal"><span class="pre"><span class="Identifier">dt</span></span></tt>. Components from <tt class="docutils literal"><span class="pre"><span class="Identifier">interval</span></span></tt> are subtracted in the order of their size, i.e. first the <tt class="docutils literal"><span class="pre"><span class="Identifier">years</span></span></tt> component, then the <tt class="docutils literal"><span class="pre"><span class="Identifier">months</span></span></tt> component and so on. The returned <tt class="docutils literal"><span class="pre"><span class="Identifier">DateTime</span></span></tt> will have the same timezone as the input.
  1188. <p><strong class="examples_text">Example:</strong></p>
  1189. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dt</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2017</span><span class="Punctuation">,</span> <span class="Identifier">mMar</span><span class="Punctuation">,</span> <span class="DecNumber">30</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  1190. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Punctuation">(</span><span class="Identifier">dt</span> <span class="Operator">-</span> <span class="FloatNumber">5.</span><span class="Identifier">days</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;2017-03-25T00:00:00Z&quot;</span></pre>
  1191. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2710" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1192. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2710" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1193. </dd>
  1194. </div>
  1195. <div id="-,TimeInterval,TimeInterval">
  1196. <dt><pre><span class="Keyword">proc</span> <a href="#-%2CTimeInterval%2CTimeInterval"><span class="Identifier">`-`</span></a><span class="Other">(</span><span class="Identifier">ti1</span><span class="Other">,</span> <span class="Identifier">ti2</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1197. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1198. <dd>
  1199. <p>Subtracts TimeInterval <tt class="docutils literal"><span class="pre"><span class="Identifier">ti1</span></span></tt> from <tt class="docutils literal"><span class="pre"><span class="Identifier">ti2</span></span></tt>.</p>
  1200. <p>Time components are subtracted one-by-one, see output:</p>
  1201. <p><strong class="examples_text">Example:</strong></p>
  1202. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">ti1</span> <span class="Operator">=</span> <span class="Identifier">initTimeInterval</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">24</span><span class="Punctuation">)</span>
  1203. <span class="Keyword">let</span> <span class="Identifier">ti2</span> <span class="Operator">=</span> <span class="Identifier">initTimeInterval</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">4</span><span class="Punctuation">)</span>
  1204. <span class="Identifier">doAssert</span> <span class="Punctuation">(</span><span class="Identifier">ti1</span> <span class="Operator">-</span> <span class="Identifier">ti2</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Identifier">initTimeInterval</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">20</span><span class="Punctuation">)</span></pre>
  1205. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2419" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1206. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2419" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1207. </dd>
  1208. </div>
  1209. <div id="-,TimeInterval">
  1210. <dt><pre><span class="Keyword">proc</span> <a href="#-%2CTimeInterval"><span class="Identifier">`-`</span></a><span class="Other">(</span><span class="Identifier">ti</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1211. <dd>
  1212. Reverses a time interval
  1213. <p><strong class="examples_text">Example:</strong></p>
  1214. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">day</span> <span class="Operator">=</span> <span class="Operator">-</span><span class="Identifier">initTimeInterval</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">24</span><span class="Punctuation">)</span>
  1215. <span class="Identifier">doAssert</span> <span class="Identifier">day</span><span class="Operator">.</span><span class="Identifier">hours</span> <span class="Operator">==</span> <span class="Operator">-</span><span class="DecNumber">24</span></pre>
  1216. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2400" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1217. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2400" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1218. </dd>
  1219. </div>
  1220. <div id="-,Time,TimeInterval">
  1221. <dt><pre><span class="Keyword">proc</span> <a href="#-%2CTime%2CTimeInterval"><span class="Identifier">`-`</span></a><span class="Other">(</span><span class="Identifier">time</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">;</span> <span class="Identifier">interval</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1222. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1223. <dd>
  1224. Subtracts <tt class="docutils literal"><span class="pre"><span class="Identifier">interval</span></span></tt> from Time <tt class="docutils literal"><span class="pre"><span class="Identifier">time</span></span></tt>. If <tt class="docutils literal"><span class="pre"><span class="Identifier">interval</span></span></tt> contains any years, months, weeks or days the operation is performed in the local timezone.
  1225. <p><strong class="examples_text">Example:</strong></p>
  1226. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">tm</span> <span class="Operator">=</span> <span class="Identifier">fromUnix</span><span class="Punctuation">(</span><span class="DecNumber">5</span><span class="Punctuation">)</span>
  1227. <span class="Identifier">doAssert</span> <span class="Identifier">tm</span> <span class="Operator">-</span> <span class="FloatNumber">5.</span><span class="Identifier">seconds</span> <span class="Operator">==</span> <span class="Identifier">fromUnix</span><span class="Punctuation">(</span><span class="DecNumber">0</span><span class="Punctuation">)</span></pre>
  1228. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2734" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1229. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2734" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1230. </dd>
  1231. </div>
  1232. </div>
  1233. <div id="-=-procs-all">
  1234. <div id="-=,DateTime,Duration">
  1235. <dt><pre><span class="Keyword">proc</span> <a href="#-%3D%2CDateTime%2CDuration"><span class="Identifier">`-=`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1236. <dd>
  1237. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1499" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1238. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1499" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1239. </dd>
  1240. </div>
  1241. <div id="-=,DateTime,TimeInterval">
  1242. <dt><pre><span class="Keyword">proc</span> <a href="#-%3D%2CDateTime%2CTimeInterval"><span class="Identifier">`-=`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1243. <dd>
  1244. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2750" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1245. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2750" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1246. </dd>
  1247. </div>
  1248. <div id="-=,TimeInterval,TimeInterval">
  1249. <dt><pre><span class="Keyword">proc</span> <a href="#-%3D%2CTimeInterval%2CTimeInterval"><span class="Identifier">`-=`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1250. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1251. <dd>
  1252. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2433" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1253. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2433" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1254. </dd>
  1255. </div>
  1256. <div id="-=,Duration,Duration">
  1257. <dt><pre><span class="Keyword">proc</span> <a href="#-%3D%2CDuration%2CDuration"><span class="Identifier">`-=`</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">;</span> <span class="Identifier">ti</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1258. <dd>
  1259. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L878" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1260. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L878" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1261. </dd>
  1262. </div>
  1263. <div id="-=,Time,Duration">
  1264. <dt><pre><span class="Keyword">proc</span> <a href="#-%3D%2CTime%2CDuration"><span class="Identifier">`-=`</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1265. <dd>
  1266. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1039" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1267. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1039" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1268. </dd>
  1269. </div>
  1270. <div id="-=,Time,TimeInterval">
  1271. <dt><pre><span class="Keyword">proc</span> <a href="#-%3D%2CTime%2CTimeInterval"><span class="Identifier">`-=`</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1272. <dd>
  1273. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2756" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1274. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2756" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1275. </dd>
  1276. </div>
  1277. </div>
  1278. <div id="&lt;-procs-all">
  1279. <div id="<,DateTime,DateTime">
  1280. <dt><pre><span class="Keyword">proc</span> <a href="#%3C%2CDateTime%2CDateTime"><span class="Identifier">`&lt;`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1281. <dd>
  1282. Returns true if <tt class="docutils literal"><span class="pre"><span class="Identifier">a</span></span></tt> happened before <tt class="docutils literal"><span class="pre"><span class="Identifier">b</span></span></tt>.
  1283. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1482" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1284. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1482" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1285. </dd>
  1286. </div>
  1287. <div id="<,Duration,Duration">
  1288. <dt><pre><span class="Keyword">proc</span> <a href="#%3C%2CDuration%2CDuration"><span class="Identifier">`&lt;`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span>
  1289. <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntLtDuration&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1290. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1291. <dd>
  1292. Note that a duration can be negative, so even if <tt class="docutils literal"><span class="pre"><span class="Identifier">a</span> <span class="Operator">&lt;</span> <span class="Identifier">b</span></span></tt> is true <tt class="docutils literal"><span class="pre"><span class="Identifier">a</span></span></tt> might represent a larger absolute duration. Use <tt class="docutils literal"><span class="pre"><span class="Identifier">abs</span><span class="Punctuation">(</span><span class="Identifier">a</span><span class="Punctuation">)</span> <span class="Operator">&lt;</span> <span class="Identifier">abs</span><span class="Punctuation">(</span><span class="Identifier">b</span><span class="Punctuation">)</span></span></tt> to compare the absolute duration.
  1293. <p><strong class="examples_text">Example:</strong></p>
  1294. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span> <span class="Operator">&lt;</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">2</span><span class="Punctuation">)</span>
  1295. <span class="Identifier">doAssert</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="Operator">-</span><span class="DecNumber">2</span><span class="Punctuation">)</span> <span class="Operator">&lt;</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span>
  1296. <span class="Identifier">doAssert</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="Operator">-</span><span class="DecNumber">2</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">abs</span> <span class="Operator">&lt;</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">abs</span> <span class="Operator">==</span> <span class="Identifier">false</span></pre>
  1297. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L836" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1298. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L836" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1299. </dd>
  1300. </div>
  1301. <div id="<,Time,Time">
  1302. <dt><pre><span class="Keyword">proc</span> <a href="#%3C%2CTime%2CTime"><span class="Identifier">`&lt;`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntLtTime&quot;</span><span class="Other">,</span>
  1303. <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1304. <dd>
  1305. Returns true if <tt class="docutils literal"><span class="pre"><span class="Identifier">a</span> <span class="Operator">&lt;</span> <span class="Identifier">b</span></span></tt>, that is if <tt class="docutils literal"><span class="pre"><span class="Identifier">a</span></span></tt> happened before <tt class="docutils literal"><span class="pre"><span class="Identifier">b</span></span></tt>.
  1306. <p><strong class="examples_text">Example:</strong></p>
  1307. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">initTime</span><span class="Punctuation">(</span><span class="DecNumber">50</span><span class="Punctuation">,</span> <span class="DecNumber">0</span><span class="Punctuation">)</span> <span class="Operator">&lt;</span> <span class="Identifier">initTime</span><span class="Punctuation">(</span><span class="DecNumber">99</span><span class="Punctuation">,</span> <span class="DecNumber">0</span><span class="Punctuation">)</span></pre>
  1308. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1022" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1309. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1022" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1310. </dd>
  1311. </div>
  1312. </div>
  1313. <div id="&lt;=-procs-all">
  1314. <div id="<=,DateTime,DateTime">
  1315. <dt><pre><span class="Keyword">proc</span> <a href="#%3C%3D%2CDateTime%2CDateTime"><span class="Identifier">`&lt;=`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1316. <dd>
  1317. Returns true if <tt class="docutils literal"><span class="pre"><span class="Identifier">a</span></span></tt> happened before or at the same time as <tt class="docutils literal"><span class="pre"><span class="Identifier">b</span></span></tt>.
  1318. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1486" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1319. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1486" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1320. </dd>
  1321. </div>
  1322. <div id="<=,Duration,Duration">
  1323. <dt><pre><span class="Keyword">proc</span> <a href="#%3C%3D%2CDuration%2CDuration"><span class="Identifier">`&lt;=`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span>
  1324. <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntLeDuration&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1325. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1326. <dd>
  1327. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L848" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1328. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L848" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1329. </dd>
  1330. </div>
  1331. <div id="<=,Time,Time">
  1332. <dt><pre><span class="Keyword">proc</span> <a href="#%3C%3D%2CTime%2CTime"><span class="Identifier">`&lt;=`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntLeTime&quot;</span><span class="Other">,</span>
  1333. <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1334. <dd>
  1335. Returns true if <tt class="docutils literal"><span class="pre"><span class="Identifier">a</span> <span class="Operator">&lt;=</span> <span class="Identifier">b</span></span></tt>.
  1336. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1028" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1337. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1028" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1338. </dd>
  1339. </div>
  1340. </div>
  1341. <div id="==-procs-all">
  1342. <div id="==,DateTime,DateTime">
  1343. <dt><pre><span class="Keyword">proc</span> <a href="#%3D%3D%2CDateTime%2CDateTime"><span class="Identifier">`==`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1344. <dd>
  1345. Returns true if <tt class="docutils literal"><span class="pre"><span class="Identifier">a</span></span></tt> and <tt class="docutils literal"><span class="pre"><span class="Identifier">b</span></span></tt> represent the same point in time.
  1346. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1490" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1347. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1490" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1348. </dd>
  1349. </div>
  1350. <div id="==,Duration,Duration">
  1351. <dt><pre><span class="Keyword">proc</span> <a href="#%3D%3D%2CDuration%2CDuration"><span class="Identifier">`==`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span>
  1352. <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntEqDuration&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1353. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1354. <dd>
  1355. <p><strong class="examples_text">Example:</strong></p>
  1356. <pre class="listing"><span class="Keyword">let</span>
  1357. <span class="Identifier">d1</span> <span class="Operator">=</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">weeks</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span>
  1358. <span class="Identifier">d2</span> <span class="Operator">=</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">days</span> <span class="Operator">=</span> <span class="DecNumber">7</span><span class="Punctuation">)</span>
  1359. <span class="Identifier">doAssert</span> <span class="Identifier">d1</span> <span class="Operator">==</span> <span class="Identifier">d2</span></pre>
  1360. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L851" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1361. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L851" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1362. </dd>
  1363. </div>
  1364. <div id="==,IsoYear,IsoYear">
  1365. <dt><pre><span class="Keyword">proc</span> <a href="#%3D%3D%2CIsoYear%2CIsoYear"><span class="Identifier">`==`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#IsoYear"><span class="Identifier">IsoYear</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span class="Identifier">borrow</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1366. <dd>
  1367. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L564" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1368. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L564" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1369. </dd>
  1370. </div>
  1371. <div id="==,Time,Time">
  1372. <dt><pre><span class="Keyword">proc</span> <a href="#%3D%3D%2CTime%2CTime"><span class="Identifier">`==`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntEqTime&quot;</span><span class="Other">,</span>
  1373. <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1374. <dd>
  1375. Returns true if <tt class="docutils literal"><span class="pre"><span class="Identifier">a</span> <span class="Operator">==</span> <span class="Identifier">b</span></span></tt>, that is if both times represent the same point in time.
  1376. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1032" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1377. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1032" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1378. </dd>
  1379. </div>
  1380. <div id="==,Timezone,Timezone">
  1381. <dt><pre><span class="Keyword">proc</span> <a href="#%3D%3D%2CTimezone%2CTimezone"><span class="Identifier">`==`</span></a><span class="Other">(</span><span class="Identifier">zone1</span><span class="Other">,</span> <span class="Identifier">zone2</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1382. <dd>
  1383. Two <tt class="docutils literal"><span class="pre"><span class="Identifier">Timezone</span></span></tt>'s are considered equal if their name is equal.
  1384. <p><strong class="examples_text">Example:</strong></p>
  1385. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">local</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Identifier">local</span><span class="Punctuation">(</span><span class="Punctuation">)</span>
  1386. <span class="Identifier">doAssert</span> <span class="Identifier">local</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">!=</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span></pre>
  1387. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1254" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1388. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1254" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1389. </dd>
  1390. </div>
  1391. </div>
  1392. <div id="abs-procs-all">
  1393. <div id="abs,Duration">
  1394. <dt><pre><span class="Keyword">proc</span> <a href="#abs%2CDuration"><span class="Identifier">abs</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1395. <dd>
  1396. <p><strong class="examples_text">Example:</strong></p>
  1397. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">milliseconds</span> <span class="Operator">=</span> <span class="Operator">-</span><span class="DecNumber">1500</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">abs</span> <span class="Operator">==</span>
  1398. <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">milliseconds</span> <span class="Operator">=</span> <span class="DecNumber">1500</span><span class="Punctuation">)</span></pre>
  1399. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L905" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1400. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L905" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1401. </dd>
  1402. </div>
  1403. </div>
  1404. <div id="between-procs-all">
  1405. <div id="between,DateTime,DateTime">
  1406. <dt><pre><span class="Keyword">proc</span> <a href="#between%2CDateTime%2CDateTime"><span class="Identifier">between</span></a><span class="Other">(</span><span class="Identifier">startDt</span><span class="Other">,</span> <span class="Identifier">endDt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1407. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1408. <dd>
  1409. Gives the difference between <tt class="docutils literal"><span class="pre"><span class="Identifier">startDt</span></span></tt> and <tt class="docutils literal"><span class="pre"><span class="Identifier">endDt</span></span></tt> as a <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt>. The following guarantees about the result is given:<ul class="simple"><li>All fields will have the same sign.</li>
  1410. <li>If <tt class="docutils literal"><span class="pre"><span class="Identifier">startDt</span><span class="Operator">.</span><span class="Identifier">timezone</span> <span class="Operator">==</span> <span class="Identifier">endDt</span><span class="Operator">.</span><span class="Identifier">timezone</span></span></tt>, it is guaranteed that <tt class="docutils literal"><span class="pre"><span class="Identifier">startDt</span> <span class="Operator">+</span> <span class="Identifier">between</span><span class="Punctuation">(</span><span class="Identifier">startDt</span><span class="Punctuation">,</span> <span class="Identifier">endDt</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Identifier">endDt</span></span></tt>.</li>
  1411. <li>If <tt class="docutils literal"><span class="pre"><span class="Identifier">startDt</span><span class="Operator">.</span><span class="Identifier">timezone</span> <span class="Operator">!=</span> <span class="Identifier">endDt</span><span class="Operator">.</span><span class="Identifier">timezone</span></span></tt>, then the result will be equivalent to <tt class="docutils literal"><span class="pre"><span class="Identifier">between</span><span class="Punctuation">(</span><span class="Identifier">startDt</span><span class="Operator">.</span><span class="Identifier">utc</span><span class="Punctuation">,</span> <span class="Identifier">endDt</span><span class="Operator">.</span><span class="Identifier">utc</span><span class="Punctuation">)</span></span></tt>.</li>
  1412. </ul>
  1413. <p><strong class="examples_text">Example:</strong></p>
  1414. <pre class="listing"><span class="Keyword">var</span> <span class="Identifier">a</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2015</span><span class="Punctuation">,</span> <span class="Identifier">mMar</span><span class="Punctuation">,</span> <span class="DecNumber">25</span><span class="Punctuation">,</span> <span class="DecNumber">12</span><span class="Punctuation">,</span> <span class="DecNumber">0</span><span class="Punctuation">,</span> <span class="DecNumber">0</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  1415. <span class="Keyword">var</span> <span class="Identifier">b</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2017</span><span class="Punctuation">,</span> <span class="Identifier">mApr</span><span class="Punctuation">,</span> <span class="DecNumber">1</span><span class="Punctuation">,</span> <span class="DecNumber">15</span><span class="Punctuation">,</span> <span class="DecNumber">0</span><span class="Punctuation">,</span> <span class="DecNumber">15</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  1416. <span class="Keyword">var</span> <span class="Identifier">ti</span> <span class="Operator">=</span> <span class="Identifier">initTimeInterval</span><span class="Punctuation">(</span><span class="Identifier">years</span> <span class="Operator">=</span> <span class="DecNumber">2</span><span class="Punctuation">,</span> <span class="Identifier">weeks</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">,</span> <span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">3</span><span class="Punctuation">,</span> <span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">15</span><span class="Punctuation">)</span>
  1417. <span class="Identifier">doAssert</span> <span class="Identifier">between</span><span class="Punctuation">(</span><span class="Identifier">a</span><span class="Punctuation">,</span> <span class="Identifier">b</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Identifier">ti</span>
  1418. <span class="Identifier">doAssert</span> <span class="Identifier">between</span><span class="Punctuation">(</span><span class="Identifier">a</span><span class="Punctuation">,</span> <span class="Identifier">b</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Operator">-</span><span class="Identifier">between</span><span class="Punctuation">(</span><span class="Identifier">b</span><span class="Punctuation">,</span> <span class="Identifier">a</span><span class="Punctuation">)</span></pre>
  1419. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2449" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1420. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2449" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1421. </dd>
  1422. </div>
  1423. </div>
  1424. <div id="convert-procs-all">
  1425. <div id="convert,FixedTimeUnit,FixedTimeUnit,T">
  1426. <dt><pre><span class="Keyword">proc</span> <a href="#convert%2CFixedTimeUnit%2CFixedTimeUnit%2CT"><span class="Identifier">convert</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">:</span> <a href="system.html#SomeInteger"><span class="Identifier">SomeInteger</span></a><span class="Other">]</span><span class="Other">(</span><span class="Identifier">unitFrom</span><span class="Other">,</span> <span class="Identifier">unitTo</span><span class="Other">:</span> <a href="times.html#FixedTimeUnit"><span class="Identifier">FixedTimeUnit</span></a><span class="Other">;</span> <span class="Identifier">quantity</span><span class="Other">:</span> <span class="Identifier">T</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">T</span> {.
  1427. <span class="Identifier">inline</span>.}</pre></dt>
  1428. <dd>
  1429. Convert a quantity of some duration unit to another duration unit. This proc only deals with integers, so the result might be truncated.
  1430. <p><strong class="examples_text">Example:</strong></p>
  1431. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">convert</span><span class="Punctuation">(</span><span class="Identifier">Days</span><span class="Punctuation">,</span> <span class="Identifier">Hours</span><span class="Punctuation">,</span> <span class="DecNumber">2</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="DecNumber">48</span>
  1432. <span class="Identifier">doAssert</span> <span class="Identifier">convert</span><span class="Punctuation">(</span><span class="Identifier">Days</span><span class="Punctuation">,</span> <span class="Identifier">Weeks</span><span class="Punctuation">,</span> <span class="DecNumber">13</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="DecNumber">1</span> <span class="Comment"># Truncated</span>
  1433. <span class="Identifier">doAssert</span> <span class="Identifier">convert</span><span class="Punctuation">(</span><span class="Identifier">Seconds</span><span class="Punctuation">,</span> <span class="Identifier">Milliseconds</span><span class="Punctuation">,</span> <span class="Operator">-</span><span class="DecNumber">1</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Operator">-</span><span class="DecNumber">1000</span></pre>
  1434. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L437" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1435. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L437" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1436. </dd>
  1437. </div>
  1438. </div>
  1439. <div id="cpuTime-procs-all">
  1440. <div id="cpuTime">
  1441. <dt><pre><span class="Keyword">proc</span> <a href="#cpuTime"><span class="Identifier">cpuTime</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#float"><span class="Identifier">float</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><a href="exceptions.html#TimeEffect"><span class="Identifier">TimeEffect</span></a><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1442. <dd>
  1443. Gets time spent that the CPU spent to run the current process in seconds. This may be more useful for benchmarking than <tt class="docutils literal"><span class="pre"><span class="Identifier">epochTime</span></span></tt>. However, it may measure the real time instead (depending on the OS). The value of the result has no meaning. To generate useful timing values, take the difference between the results of two <tt class="docutils literal"><span class="pre"><span class="Identifier">cpuTime</span></span></tt> calls:
  1444. <p><strong class="examples_text">Example:</strong></p>
  1445. <pre class="listing"><span class="Keyword">var</span> <span class="Identifier">t0</span> <span class="Operator">=</span> <span class="Identifier">cpuTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span>
  1446. <span class="Comment"># some useless work here (calculate fibonacci)</span>
  1447. <span class="Keyword">var</span> <span class="Identifier">fib</span> <span class="Operator">=</span> <span class="Operator">@</span><span class="Punctuation">[</span><span class="DecNumber">0</span><span class="Punctuation">,</span> <span class="DecNumber">1</span><span class="Punctuation">,</span> <span class="DecNumber">1</span><span class="Punctuation">]</span>
  1448. <span class="Keyword">for</span> <span class="Identifier">i</span> <span class="Keyword">in</span> <span class="FloatNumber">1.</span><span class="Operator">.</span><span class="DecNumber">10</span><span class="Punctuation">:</span>
  1449. <span class="Identifier">fib</span><span class="Operator">.</span><span class="Identifier">add</span><span class="Punctuation">(</span><span class="Identifier">fib</span><span class="Punctuation">[</span><span class="Operator">^</span><span class="DecNumber">1</span><span class="Punctuation">]</span> <span class="Operator">+</span> <span class="Identifier">fib</span><span class="Punctuation">[</span><span class="Operator">^</span><span class="DecNumber">2</span><span class="Punctuation">]</span><span class="Punctuation">)</span>
  1450. <span class="Identifier">echo</span> <span class="StringLit">&quot;CPU time [s] &quot;</span><span class="Punctuation">,</span> <span class="Identifier">cpuTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">-</span> <span class="Identifier">t0</span>
  1451. <span class="Identifier">echo</span> <span class="StringLit">&quot;Fib is [s] &quot;</span><span class="Punctuation">,</span> <span class="Identifier">fib</span></pre>When the flag <tt class="docutils literal"><span class="pre"><span class="Operator">--</span><span class="Identifier">benchmarkVM</span></span></tt> is passed to the compiler, this proc is also available at compile time
  1452. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2831" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1453. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2831" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1454. </dd>
  1455. </div>
  1456. </div>
  1457. <div id="dateTime-procs-all">
  1458. <div id="dateTime,int,Month,MonthdayRange,HourRange,MinuteRange,SecondRange,NanosecondRange,Timezone">
  1459. <dt><pre><span class="Keyword">proc</span> <a href="#dateTime%2Cint%2CMonth%2CMonthdayRange%2CHourRange%2CMinuteRange%2CSecondRange%2CNanosecondRange%2CTimezone"><span class="Identifier">dateTime</span></a><span class="Other">(</span><span class="Identifier">year</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">;</span> <span class="Identifier">month</span><span class="Other">:</span> <a href="times.html#Month"><span class="Identifier">Month</span></a><span class="Other">;</span> <span class="Identifier">monthday</span><span class="Other">:</span> <a href="times.html#MonthdayRange"><span class="Identifier">MonthdayRange</span></a><span class="Other">;</span>
  1460. <span class="Identifier">hour</span><span class="Other">:</span> <a href="times.html#HourRange"><span class="Identifier">HourRange</span></a> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span> <span class="Identifier">minute</span><span class="Other">:</span> <a href="times.html#MinuteRange"><span class="Identifier">MinuteRange</span></a> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span>
  1461. <span class="Identifier">second</span><span class="Other">:</span> <a href="times.html#SecondRange"><span class="Identifier">SecondRange</span></a> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span> <span class="Identifier">nanosecond</span><span class="Other">:</span> <a href="times.html#NanosecondRange"><span class="Identifier">NanosecondRange</span></a> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span>
  1462. <span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a> <span class="Other">=</span> <span class="Identifier">local</span><span class="Other">(</span><span class="Other">)</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1463. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1464. <dd>
  1465. Create a new <a class="reference external" href="#DateTime">DateTime</a> in the specified timezone.
  1466. <p><strong class="examples_text">Example:</strong></p>
  1467. <pre class="listing"><span class="Identifier">assert</span> <span class="Operator">$</span><span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2017</span><span class="Punctuation">,</span> <span class="Identifier">mMar</span><span class="Punctuation">,</span> <span class="DecNumber">30</span><span class="Punctuation">,</span> <span class="Identifier">zone</span> <span class="Operator">=</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;2017-03-30T00:00:00Z&quot;</span></pre>
  1468. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1419" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1469. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1419" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1470. </dd>
  1471. </div>
  1472. </div>
  1473. <div id="days-procs-all">
  1474. <div id="days,int">
  1475. <dt><pre><span class="Keyword">proc</span> <a href="#days%2Cint"><span class="Identifier">days</span></a><span class="Other">(</span><span class="Identifier">d</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1476. <dd>
  1477. <p>TimeInterval of <tt class="docutils literal"><span class="pre"><span class="Identifier">d</span></span></tt> days.</p>
  1478. <p><tt class="docutils literal"><span class="pre"><span class="Identifier">echo</span> <span class="Identifier">getTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">+</span> <span class="FloatNumber">2.</span><span class="Identifier">days</span></span></tt></p>
  1479. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2616" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1480. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2616" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1481. </dd>
  1482. </div>
  1483. </div>
  1484. <div id="div-procs-all">
  1485. <div id="div,Duration,int64">
  1486. <dt><pre><span class="Keyword">proc</span> <a href="#div%2CDuration%2Cint64"><span class="Identifier">`div`</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span>
  1487. <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;ntDivDuration&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1488. <dd>
  1489. Integer division for durations.
  1490. <p><strong class="examples_text">Example:</strong></p>
  1491. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">3</span><span class="Punctuation">)</span> <span class="Keyword">div</span> <span class="DecNumber">2</span> <span class="Operator">==</span>
  1492. <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">milliseconds</span> <span class="Operator">=</span> <span class="DecNumber">1500</span><span class="Punctuation">)</span>
  1493. <span class="Identifier">doAssert</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">minutes</span> <span class="Operator">=</span> <span class="DecNumber">45</span><span class="Punctuation">)</span> <span class="Keyword">div</span> <span class="DecNumber">30</span> <span class="Operator">==</span>
  1494. <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">minutes</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">,</span> <span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">30</span><span class="Punctuation">)</span>
  1495. <span class="Identifier">doAssert</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">nanoseconds</span> <span class="Operator">=</span> <span class="DecNumber">3</span><span class="Punctuation">)</span> <span class="Keyword">div</span> <span class="DecNumber">2</span> <span class="Operator">==</span>
  1496. <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">nanoseconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span></pre>
  1497. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L884" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1498. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L884" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1499. </dd>
  1500. </div>
  1501. </div>
  1502. <div id="epochTime-procs-all">
  1503. <div id="epochTime">
  1504. <dt><pre><span class="Keyword">proc</span> <a href="#epochTime"><span class="Identifier">epochTime</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#float"><span class="Identifier">float</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><a href="exceptions.html#TimeEffect"><span class="Identifier">TimeEffect</span></a><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1505. <dd>
  1506. <p>Gets time after the UNIX epoch (1970) in seconds. It is a float because sub-second resolution is likely to be supported (depending on the hardware/OS).</p>
  1507. <p><tt class="docutils literal"><span class="pre"><span class="Identifier">getTime</span></span></tt> should generally be preferred over this proc.</p>
  1508. <div class="admonition admonition-warning"><span class="admonition-warning-text"><b>Warning:</b></span>
  1509. Unsuitable for benchmarking (but still better than <tt class="docutils literal"><span class="pre"><span class="Identifier">now</span></span></tt>), use <tt class="docutils literal"><span class="pre"><span class="Identifier">monotimes</span><span class="Operator">.</span><span class="Identifier">getMonoTime</span></span></tt> or <tt class="docutils literal"><span class="pre"><span class="Identifier">cpuTime</span></span></tt> instead, depending on the use case.</div>
  1510. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2790" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1511. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2790" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1512. </dd>
  1513. </div>
  1514. </div>
  1515. <div id="format-procs-all">
  1516. <div id="format,DateTime,static[string]">
  1517. <dt><pre><span class="Keyword">proc</span> <a href="#format%2CDateTime%2Cstatic%5Bstring%5D"><span class="Identifier">format</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">f</span><span class="Other">:</span> <a href="system.html#static"><span class="Identifier">static</span></a><span class="Other">[</span><a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1518. <dd>
  1519. Overload that validates <tt class="docutils literal"><span class="pre"><span class="Identifier">format</span></span></tt> at compile time.
  1520. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2217" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1521. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2217" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1522. </dd>
  1523. </div>
  1524. <div id="format,DateTime,string,DateTimeLocale">
  1525. <dt><pre><span class="Keyword">proc</span> <a href="#format%2CDateTime%2Cstring%2CDateTimeLocale"><span class="Identifier">format</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">f</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">;</span> <span class="Identifier">loc</span><span class="Other">:</span> <a href="times.html#DateTimeLocale"><span class="Identifier">DateTimeLocale</span></a> <span class="Other">=</span> <span class="Identifier">DefaultLocale</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.
  1526. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><a href="times.html#TimeFormatParseError"><span class="Identifier">TimeFormatParseError</span></a><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1527. <dd>
  1528. <p>Shorthand for constructing a <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeFormat</span></span></tt> and using it to format <tt class="docutils literal"><span class="pre"><span class="Identifier">dt</span></span></tt>.</p>
  1529. <p>See <a class="reference internal" href="#parsing-and-formatting-dates">Parsing and formatting dates</a> for documentation of the <tt class="docutils literal"><span class="pre"><span class="Identifier">format</span></span></tt> argument.</p>
  1530. <p><strong class="examples_text">Example:</strong></p>
  1531. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dt</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2000</span><span class="Punctuation">,</span> <span class="Identifier">mJan</span><span class="Punctuation">,</span> <span class="DecNumber">01</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  1532. <span class="Identifier">doAssert</span> <span class="StringLit">&quot;2000-01-01&quot;</span> <span class="Operator">==</span> <span class="Identifier">format</span><span class="Punctuation">(</span><span class="Identifier">dt</span><span class="Punctuation">,</span> <span class="StringLit">&quot;yyyy-MM-dd&quot;</span><span class="Punctuation">)</span></pre>
  1533. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2205" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1534. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2205" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1535. </dd>
  1536. </div>
  1537. <div id="format,DateTime,TimeFormat,DateTimeLocale">
  1538. <dt><pre><span class="Keyword">proc</span> <a href="#format%2CDateTime%2CTimeFormat%2CDateTimeLocale"><span class="Identifier">format</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">f</span><span class="Other">:</span> <a href="times.html#TimeFormat"><span class="Identifier">TimeFormat</span></a><span class="Other">;</span> <span class="Identifier">loc</span><span class="Other">:</span> <a href="times.html#DateTimeLocale"><span class="Identifier">DateTimeLocale</span></a> <span class="Other">=</span> <span class="Identifier">DefaultLocale</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.
  1539. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1540. <dd>
  1541. Format <tt class="docutils literal"><span class="pre"><span class="Identifier">dt</span></span></tt> using the format specified by <tt class="docutils literal"><span class="pre"><span class="Identifier">f</span></span></tt>.
  1542. <p><strong class="examples_text">Example:</strong></p>
  1543. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">f</span> <span class="Operator">=</span> <span class="Identifier">initTimeFormat</span><span class="Punctuation">(</span><span class="StringLit">&quot;yyyy-MM-dd&quot;</span><span class="Punctuation">)</span>
  1544. <span class="Keyword">let</span> <span class="Identifier">dt</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2000</span><span class="Punctuation">,</span> <span class="Identifier">mJan</span><span class="Punctuation">,</span> <span class="DecNumber">01</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  1545. <span class="Identifier">doAssert</span> <span class="StringLit">&quot;2000-01-01&quot;</span> <span class="Operator">==</span> <span class="Identifier">dt</span><span class="Operator">.</span><span class="Identifier">format</span><span class="Punctuation">(</span><span class="Identifier">f</span><span class="Punctuation">)</span></pre>
  1546. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2182" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1547. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2182" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1548. </dd>
  1549. </div>
  1550. <div id="format,Time,static[string],Timezone">
  1551. <dt><pre><span class="Keyword">proc</span> <a href="#format%2CTime%2Cstatic%5Bstring%5D%2CTimezone"><span class="Identifier">format</span></a><span class="Other">(</span><span class="Identifier">time</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">;</span> <span class="Identifier">f</span><span class="Other">:</span> <a href="system.html#static"><span class="Identifier">static</span></a><span class="Other">[</span><a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a> <span class="Other">=</span> <span class="Identifier">local</span><span class="Other">(</span><span class="Other">)</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.
  1552. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1553. <dd>
  1554. Overload that validates <tt class="docutils literal"><span class="pre"><span class="Identifier">f</span></span></tt> at compile time.
  1555. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2240" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1556. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2240" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1557. </dd>
  1558. </div>
  1559. <div id="format,Time,string,Timezone">
  1560. <dt><pre><span class="Keyword">proc</span> <a href="#format%2CTime%2Cstring%2CTimezone"><span class="Identifier">format</span></a><span class="Other">(</span><span class="Identifier">time</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">;</span> <span class="Identifier">f</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">;</span> <span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a> <span class="Other">=</span> <span class="Identifier">local</span><span class="Other">(</span><span class="Other">)</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.
  1561. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><a href="times.html#TimeFormatParseError"><span class="Identifier">TimeFormatParseError</span></a><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1562. <dd>
  1563. <p>Shorthand for constructing a <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeFormat</span></span></tt> and using it to format <tt class="docutils literal"><span class="pre"><span class="Identifier">time</span></span></tt>. Will use the timezone specified by <tt class="docutils literal"><span class="pre"><span class="Identifier">zone</span></span></tt>.</p>
  1564. <p>See <a class="reference internal" href="#parsing-and-formatting-dates">Parsing and formatting dates</a> for documentation of the <tt class="docutils literal"><span class="pre"><span class="Identifier">f</span></span></tt> argument.</p>
  1565. <p><strong class="examples_text">Example:</strong></p>
  1566. <pre class="listing"><span class="Keyword">var</span> <span class="Identifier">dt</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">1970</span><span class="Punctuation">,</span> <span class="Identifier">mJan</span><span class="Punctuation">,</span> <span class="DecNumber">01</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  1567. <span class="Keyword">var</span> <span class="Identifier">tm</span> <span class="Operator">=</span> <span class="Identifier">dt</span><span class="Operator">.</span><span class="Identifier">toTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span>
  1568. <span class="Identifier">doAssert</span> <span class="Identifier">format</span><span class="Punctuation">(</span><span class="Identifier">tm</span><span class="Punctuation">,</span> <span class="StringLit">&quot;yyyy-MM-dd'T'HH:mm:ss&quot;</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;1970-01-01T00:00:00&quot;</span></pre>
  1569. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2227" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1570. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2227" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1571. </dd>
  1572. </div>
  1573. </div>
  1574. <div id="formatValue-procs-all">
  1575. <div id="formatValue,string,,string">
  1576. <dt><pre><span class="Keyword">proc</span> <a href="#formatValue%2Cstring%2C%2Cstring"><span class="Identifier">formatValue</span></a><span class="Other">(</span><span class="Identifier">result</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> <span class="Operator">|</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">;</span> <span class="Identifier">specifier</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">)</span></pre></dt>
  1577. <dd>
  1578. adapter for strformat. Not intended to be called directly.
  1579. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2222" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1580. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2222" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1581. </dd>
  1582. </div>
  1583. </div>
  1584. <div id="fromUnix-procs-all">
  1585. <div id="fromUnix,int64">
  1586. <dt><pre><span class="Keyword">proc</span> <a href="#fromUnix%2Cint64"><span class="Identifier">fromUnix</span></a><span class="Other">(</span><span class="Identifier">unix</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span>
  1587. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1588. <dd>
  1589. Convert a unix timestamp (seconds since <tt class="docutils literal"><span class="pre"><span class="DecNumber">1970</span><span class="Operator">-</span><span class="DecNumber">01</span><span class="Operator">-</span><span class="DecNumber">01</span><span class="Identifier">T00</span><span class="Punctuation">:</span><span class="DecNumber">00</span><span class="Punctuation">:</span><span class="DecNumber">00</span><span class="Identifier">Z</span></span></tt>) to a <tt class="docutils literal"><span class="pre"><span class="Identifier">Time</span></span></tt>.
  1590. <p><strong class="examples_text">Example:</strong></p>
  1591. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Identifier">fromUnix</span><span class="Punctuation">(</span><span class="DecNumber">0</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">utc</span> <span class="Operator">==</span> <span class="StringLit">&quot;1970-01-01T00:00:00Z&quot;</span></pre>
  1592. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L924" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1593. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L924" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1594. </dd>
  1595. </div>
  1596. </div>
  1597. <div id="fromUnixFloat-procs-all">
  1598. <div id="fromUnixFloat,float">
  1599. <dt><pre><span class="Keyword">proc</span> <a href="#fromUnixFloat%2Cfloat"><span class="Identifier">fromUnixFloat</span></a><span class="Other">(</span><span class="Identifier">seconds</span><span class="Other">:</span> <a href="system.html#float"><span class="Identifier">float</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1600. </span><span class="Identifier">noSideEffect</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1601. <dd>
  1602. Convert a unix timestamp in seconds to a <tt class="docutils literal"><span class="pre"><span class="Identifier">Time</span></span></tt>; same as <tt class="docutils literal"><span class="pre"><span class="Identifier">fromUnix</span></span></tt> but with subsecond resolution.
  1603. <p><strong class="examples_text">Example:</strong></p>
  1604. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">fromUnixFloat</span><span class="Punctuation">(</span><span class="FloatNumber">123456.0</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Identifier">fromUnixFloat</span><span class="Punctuation">(</span><span class="DecNumber">123456</span><span class="Punctuation">)</span>
  1605. <span class="Identifier">doAssert</span> <span class="Identifier">fromUnixFloat</span><span class="Punctuation">(</span><span class="Operator">-</span><span class="FloatNumber">123456.0</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Identifier">fromUnixFloat</span><span class="Punctuation">(</span><span class="Operator">-</span><span class="DecNumber">123456</span><span class="Punctuation">)</span></pre>
  1606. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L939" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1607. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L939" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1608. </dd>
  1609. </div>
  1610. </div>
  1611. <div id="fromWinTime-procs-all">
  1612. <div id="fromWinTime,int64">
  1613. <dt><pre><span class="Keyword">proc</span> <a href="#fromWinTime%2Cint64"><span class="Identifier">fromWinTime</span></a><span class="Other">(</span><span class="Identifier">win</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1614. <dd>
  1615. Convert a Windows file time (100-nanosecond intervals since <tt class="docutils literal"><span class="pre"><span class="DecNumber">1601</span><span class="Operator">-</span><span class="DecNumber">01</span><span class="Operator">-</span><span class="DecNumber">01</span><span class="Identifier">T00</span><span class="Punctuation">:</span><span class="DecNumber">00</span><span class="Punctuation">:</span><span class="DecNumber">00</span><span class="Identifier">Z</span></span></tt>) to a <tt class="docutils literal"><span class="pre"><span class="Identifier">Time</span></span></tt>.
  1616. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L962" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1617. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L962" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1618. </dd>
  1619. </div>
  1620. </div>
  1621. <div id="getClockStr-procs-all">
  1622. <div id="getClockStr">
  1623. <dt><pre><span class="Keyword">proc</span> <a href="#getClockStr"><span class="Identifier">getClockStr</span></a><span class="Other">(</span><span class="Identifier">dt</span> <span class="Other">=</span> <span class="Identifier">now</span><span class="Other">(</span><span class="Other">)</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;nt$1&quot;</span><span class="Other">,</span>
  1624. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><a href="exceptions.html#TimeEffect"><span class="Identifier">TimeEffect</span></a><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1625. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1626. <dd>
  1627. Gets the current local clock time as a string of the format <tt class="docutils literal"><span class="pre"><span class="Identifier">HH</span><span class="Punctuation">:</span><span class="Identifier">mm</span><span class="Punctuation">:</span><span class="Identifier">ss</span></span></tt>.
  1628. <p><strong class="examples_text">Example:</strong></p>
  1629. <pre class="listing"><span class="Identifier">echo</span> <span class="Identifier">getClockStr</span><span class="Punctuation">(</span><span class="Identifier">now</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">-</span> <span class="FloatNumber">1.</span><span class="Identifier">hours</span><span class="Punctuation">)</span></pre>
  1630. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1514" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1631. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1514" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1632. </dd>
  1633. </div>
  1634. </div>
  1635. <div id="getDateStr-procs-all">
  1636. <div id="getDateStr">
  1637. <dt><pre><span class="Keyword">proc</span> <a href="#getDateStr"><span class="Identifier">getDateStr</span></a><span class="Other">(</span><span class="Identifier">dt</span> <span class="Other">=</span> <span class="Identifier">now</span><span class="Other">(</span><span class="Other">)</span><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">extern</span><span class="Other">:</span> <span class="StringLit">&quot;nt$1&quot;</span><span class="Other">,</span>
  1638. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><a href="exceptions.html#TimeEffect"><span class="Identifier">TimeEffect</span></a><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1639. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1640. <dd>
  1641. Gets the current local date as a string of the format <tt class="docutils literal"><span class="pre"><span class="Identifier">YYYY</span><span class="Operator">-</span><span class="Identifier">MM</span><span class="Operator">-</span><span class="Identifier">dd</span></span></tt>.
  1642. <p><strong class="examples_text">Example:</strong></p>
  1643. <pre class="listing"><span class="Identifier">echo</span> <span class="Identifier">getDateStr</span><span class="Punctuation">(</span><span class="Identifier">now</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">-</span> <span class="FloatNumber">1.</span><span class="Identifier">months</span><span class="Punctuation">)</span></pre>
  1644. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1502" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1645. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1502" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1646. </dd>
  1647. </div>
  1648. </div>
  1649. <div id="getDayOfWeek-procs-all">
  1650. <div id="getDayOfWeek,MonthdayRange,Month,int">
  1651. <dt><pre><span class="Keyword">proc</span> <a href="#getDayOfWeek%2CMonthdayRange%2CMonth%2Cint"><span class="Identifier">getDayOfWeek</span></a><span class="Other">(</span><span class="Identifier">monthday</span><span class="Other">:</span> <a href="times.html#MonthdayRange"><span class="Identifier">MonthdayRange</span></a><span class="Other">;</span> <span class="Identifier">month</span><span class="Other">:</span> <a href="times.html#Month"><span class="Identifier">Month</span></a><span class="Other">;</span> <span class="Identifier">year</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#WeekDay"><span class="Identifier">WeekDay</span></a> {.
  1652. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1653. <dd>
  1654. Returns the day of the week enum from day, month and year. Equivalent with <tt class="docutils literal"><span class="pre"><span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="Identifier">year</span><span class="Punctuation">,</span> <span class="Identifier">month</span><span class="Punctuation">,</span> <span class="Identifier">monthday</span><span class="Punctuation">,</span> <span class="DecNumber">0</span><span class="Punctuation">,</span> <span class="DecNumber">0</span><span class="Punctuation">,</span> <span class="DecNumber">0</span><span class="Punctuation">,</span> <span class="DecNumber">0</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">weekday</span></span></tt>.
  1655. <p><strong class="examples_text">Example:</strong></p>
  1656. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">getDayOfWeek</span><span class="Punctuation">(</span><span class="DecNumber">13</span><span class="Punctuation">,</span> <span class="Identifier">mJun</span><span class="Punctuation">,</span> <span class="DecNumber">1990</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Identifier">dWed</span>
  1657. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Identifier">getDayOfWeek</span><span class="Punctuation">(</span><span class="DecNumber">13</span><span class="Punctuation">,</span> <span class="Identifier">mJun</span><span class="Punctuation">,</span> <span class="DecNumber">1990</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;Wednesday&quot;</span></pre>
  1658. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L540" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1659. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L540" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1660. </dd>
  1661. </div>
  1662. </div>
  1663. <div id="getDayOfYear-procs-all">
  1664. <div id="getDayOfYear,MonthdayRange,Month,int">
  1665. <dt><pre><span class="Keyword">proc</span> <a href="#getDayOfYear%2CMonthdayRange%2CMonth%2Cint"><span class="Identifier">getDayOfYear</span></a><span class="Other">(</span><span class="Identifier">monthday</span><span class="Other">:</span> <a href="times.html#MonthdayRange"><span class="Identifier">MonthdayRange</span></a><span class="Other">;</span> <span class="Identifier">month</span><span class="Other">:</span> <a href="times.html#Month"><span class="Identifier">Month</span></a><span class="Other">;</span> <span class="Identifier">year</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#YeardayRange"><span class="Identifier">YeardayRange</span></a> {.
  1666. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1667. <dd>
  1668. Returns the day of the year. Equivalent with <tt class="docutils literal"><span class="pre"><span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="Identifier">year</span><span class="Punctuation">,</span> <span class="Identifier">month</span><span class="Punctuation">,</span> <span class="Identifier">monthday</span><span class="Punctuation">,</span> <span class="DecNumber">0</span><span class="Punctuation">,</span> <span class="DecNumber">0</span><span class="Punctuation">,</span> <span class="DecNumber">0</span><span class="Punctuation">,</span> <span class="DecNumber">0</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">yearday</span></span></tt>.
  1669. <p><strong class="examples_text">Example:</strong></p>
  1670. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">getDayOfYear</span><span class="Punctuation">(</span><span class="DecNumber">1</span><span class="Punctuation">,</span> <span class="Identifier">mJan</span><span class="Punctuation">,</span> <span class="DecNumber">2000</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="DecNumber">0</span>
  1671. <span class="Identifier">doAssert</span> <span class="Identifier">getDayOfYear</span><span class="Punctuation">(</span><span class="DecNumber">10</span><span class="Punctuation">,</span> <span class="Identifier">mJan</span><span class="Punctuation">,</span> <span class="DecNumber">2000</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="DecNumber">9</span>
  1672. <span class="Identifier">doAssert</span> <span class="Identifier">getDayOfYear</span><span class="Punctuation">(</span><span class="DecNumber">10</span><span class="Punctuation">,</span> <span class="Identifier">mFeb</span><span class="Punctuation">,</span> <span class="DecNumber">2000</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="DecNumber">40</span></pre>
  1673. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L520" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1674. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L520" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1675. </dd>
  1676. </div>
  1677. </div>
  1678. <div id="getDaysInMonth-procs-all">
  1679. <div id="getDaysInMonth,Month,int">
  1680. <dt><pre><span class="Keyword">proc</span> <a href="#getDaysInMonth%2CMonth%2Cint"><span class="Identifier">getDaysInMonth</span></a><span class="Other">(</span><span class="Identifier">month</span><span class="Other">:</span> <a href="times.html#Month"><span class="Identifier">Month</span></a><span class="Other">;</span> <span class="Identifier">year</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1681. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1682. <dd>
  1683. Get the number of days in <tt class="docutils literal"><span class="pre"><span class="Identifier">month</span></span></tt> of <tt class="docutils literal"><span class="pre"><span class="Identifier">year</span></span></tt>.
  1684. <p><strong class="examples_text">Example:</strong></p>
  1685. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">getDaysInMonth</span><span class="Punctuation">(</span><span class="Identifier">mFeb</span><span class="Punctuation">,</span> <span class="DecNumber">2000</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="DecNumber">29</span>
  1686. <span class="Identifier">doAssert</span> <span class="Identifier">getDaysInMonth</span><span class="Punctuation">(</span><span class="Identifier">mFeb</span><span class="Punctuation">,</span> <span class="DecNumber">2001</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="DecNumber">28</span></pre>
  1687. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L469" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1688. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L469" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1689. </dd>
  1690. </div>
  1691. </div>
  1692. <div id="getDaysInYear-procs-all">
  1693. <div id="getDaysInYear,int">
  1694. <dt><pre><span class="Keyword">proc</span> <a href="#getDaysInYear%2Cint"><span class="Identifier">getDaysInYear</span></a><span class="Other">(</span><span class="Identifier">year</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1695. <dd>
  1696. Get the number of days in a <tt class="docutils literal"><span class="pre"><span class="Identifier">year</span></span></tt>
  1697. <p><strong class="examples_text">Example:</strong></p>
  1698. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">getDaysInYear</span><span class="Punctuation">(</span><span class="DecNumber">2000</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="DecNumber">366</span>
  1699. <span class="Identifier">doAssert</span> <span class="Identifier">getDaysInYear</span><span class="Punctuation">(</span><span class="DecNumber">2001</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="DecNumber">365</span></pre>
  1700. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L557" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1701. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L557" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1702. </dd>
  1703. </div>
  1704. </div>
  1705. <div id="getIsoWeekAndYear-procs-all">
  1706. <div id="getIsoWeekAndYear,DateTime">
  1707. <dt><pre><span class="Keyword">proc</span> <a href="#getIsoWeekAndYear%2CDateTime"><span class="Identifier">getIsoWeekAndYear</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">isoweek</span><span class="Other">:</span> <a href="times.html#IsoWeekRange"><span class="Identifier">IsoWeekRange</span></a><span class="Other">,</span>
  1708. <span class="Identifier">isoyear</span><span class="Other">:</span> <a href="times.html#IsoYear"><span class="Identifier">IsoYear</span></a><span class="Other">]</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1709. <dd>
  1710. Returns the ISO 8601 week and year.<div class="admonition admonition-warning"><span class="admonition-warning-text"><b>Warning:</b></span>
  1711. The ISO week-based year can correspond to the following or previous year from 29 December to January 3.</div>
  1712. <p><strong class="examples_text">Example:</strong></p>
  1713. <pre class="listing"><span class="Identifier">assert</span> <span class="Identifier">getIsoWeekAndYear</span><span class="Punctuation">(</span><span class="Identifier">initDateTime</span><span class="Punctuation">(</span><span class="DecNumber">21</span><span class="Punctuation">,</span> <span class="Identifier">mApr</span><span class="Punctuation">,</span> <span class="DecNumber">2018</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">)</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Punctuation">(</span><span class="Identifier">isoweek</span><span class="Punctuation">:</span> <span class="FloatNumber">16.</span><span class="Identifier">IsoWeekRange</span><span class="Punctuation">,</span> <span class="Identifier">isoyear</span><span class="Punctuation">:</span> <span class="FloatNumber">2018.</span><span class="Identifier">IsoYear</span><span class="Punctuation">)</span>
  1714. <span class="Keyword">block</span><span class="Punctuation">:</span>
  1715. <span class="Keyword">let</span> <span class="Punctuation">(</span><span class="Identifier">w</span><span class="Punctuation">,</span> <span class="Identifier">y</span><span class="Punctuation">)</span> <span class="Operator">=</span> <span class="Identifier">getIsoWeekAndYear</span><span class="Punctuation">(</span><span class="Identifier">initDateTime</span><span class="Punctuation">(</span><span class="DecNumber">30</span><span class="Punctuation">,</span> <span class="Identifier">mDec</span><span class="Punctuation">,</span> <span class="DecNumber">2019</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  1716. <span class="Identifier">assert</span> <span class="Identifier">w</span> <span class="Operator">==</span> <span class="FloatNumber">01.</span><span class="Identifier">IsoWeekRange</span>
  1717. <span class="Identifier">assert</span> <span class="Identifier">y</span> <span class="Operator">==</span> <span class="FloatNumber">2020.</span><span class="Identifier">IsoYear</span>
  1718. <span class="Identifier">assert</span> <span class="Identifier">getIsoWeekAndYear</span><span class="Punctuation">(</span><span class="Identifier">initDateTime</span><span class="Punctuation">(</span><span class="DecNumber">13</span><span class="Punctuation">,</span> <span class="Identifier">mSep</span><span class="Punctuation">,</span> <span class="DecNumber">2020</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">)</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Punctuation">(</span><span class="Identifier">isoweek</span><span class="Punctuation">:</span> <span class="FloatNumber">37.</span><span class="Identifier">IsoWeekRange</span><span class="Punctuation">,</span> <span class="Identifier">isoyear</span><span class="Punctuation">:</span> <span class="FloatNumber">2020.</span><span class="Identifier">IsoYear</span><span class="Punctuation">)</span>
  1719. <span class="Keyword">block</span><span class="Punctuation">:</span>
  1720. <span class="Keyword">let</span> <span class="Punctuation">(</span><span class="Identifier">w</span><span class="Punctuation">,</span> <span class="Identifier">y</span><span class="Punctuation">)</span> <span class="Operator">=</span> <span class="Identifier">getIsoWeekAndYear</span><span class="Punctuation">(</span><span class="Identifier">initDateTime</span><span class="Punctuation">(</span><span class="DecNumber">2</span><span class="Punctuation">,</span> <span class="Identifier">mJan</span><span class="Punctuation">,</span> <span class="DecNumber">2021</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  1721. <span class="Identifier">assert</span> <span class="Identifier">w</span><span class="Operator">.</span><span class="Identifier">int</span> <span class="Operator">&gt;</span> <span class="DecNumber">52</span>
  1722. <span class="Identifier">assert</span> <span class="Identifier">w</span><span class="Operator">.</span><span class="Identifier">int</span> <span class="Operator">&lt;</span> <span class="DecNumber">54</span>
  1723. <span class="Identifier">assert</span> <span class="Identifier">y</span><span class="Operator">.</span><span class="Identifier">int</span> <span class="Keyword">mod</span> <span class="DecNumber">100</span> <span class="Operator">==</span> <span class="DecNumber">20</span></pre>
  1724. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L585" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1725. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L585" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1726. </dd>
  1727. </div>
  1728. </div>
  1729. <div id="getTime-procs-all">
  1730. <div id="getTime">
  1731. <dt><pre><span class="Keyword">proc</span> <a href="#getTime"><span class="Identifier">getTime</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><a href="exceptions.html#TimeEffect"><span class="Identifier">TimeEffect</span></a><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1732. <dd>
  1733. Gets the current time as a <tt class="docutils literal"><span class="pre"><span class="Identifier">Time</span></span></tt> with up to nanosecond resolution.
  1734. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L978" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1735. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L978" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1736. </dd>
  1737. </div>
  1738. </div>
  1739. <div id="getWeeksInIsoYear-procs-all">
  1740. <div id="getWeeksInIsoYear,IsoYear">
  1741. <dt><pre><span class="Keyword">proc</span> <a href="#getWeeksInIsoYear%2CIsoYear"><span class="Identifier">getWeeksInIsoYear</span></a><span class="Other">(</span><span class="Identifier">y</span><span class="Other">:</span> <a href="times.html#IsoYear"><span class="Identifier">IsoYear</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#IsoWeekRange"><span class="Identifier">IsoWeekRange</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1742. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1743. <dd>
  1744. Returns the number of weeks in the specified ISO 8601 week-based year, which can be either 53 or 52.
  1745. <p><strong class="examples_text">Example:</strong></p>
  1746. <pre class="listing"><span class="Identifier">assert</span> <span class="Identifier">getWeeksInIsoYear</span><span class="Punctuation">(</span><span class="Identifier">IsoYear</span><span class="Punctuation">(</span><span class="DecNumber">2019</span><span class="Punctuation">)</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="DecNumber">52</span>
  1747. <span class="Identifier">assert</span> <span class="Identifier">getWeeksInIsoYear</span><span class="Punctuation">(</span><span class="Identifier">IsoYear</span><span class="Punctuation">(</span><span class="DecNumber">2020</span><span class="Punctuation">)</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="DecNumber">53</span></pre>
  1748. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L567" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1749. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L567" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1750. </dd>
  1751. </div>
  1752. </div>
  1753. <div id="high-procs-all">
  1754. <div id="high,typedesc[Duration]">
  1755. <dt><pre><span class="Keyword">proc</span> <a href="#high%2Ctypedesc%5BDuration%5D"><span class="Identifier">high</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <a href="system.html#typedesc"><span class="Identifier">typedesc</span></a><span class="Other">[</span><a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a></pre></dt>
  1756. <dd>
  1757. Get the longest representable duration.
  1758. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L897" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1759. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L897" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1760. </dd>
  1761. </div>
  1762. <div id="high,typedesc[Time]">
  1763. <dt><pre><span class="Keyword">proc</span> <a href="#high%2Ctypedesc%5BTime%5D"><span class="Identifier">high</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <a href="system.html#typedesc"><span class="Identifier">typedesc</span></a><span class="Other">[</span><a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a></pre></dt>
  1764. <dd>
  1765. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1042" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1766. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1042" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1767. </dd>
  1768. </div>
  1769. </div>
  1770. <div id="hour-procs-all">
  1771. <div id="hour,DateTime">
  1772. <dt><pre><span class="Keyword">proc</span> <a href="#hour%2CDateTime"><span class="Identifier">hour</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#HourRange"><span class="Identifier">HourRange</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1773. <dd>
  1774. The number of hours past midnight, in the range 0 to 23.
  1775. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1073" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1776. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1073" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1777. </dd>
  1778. </div>
  1779. </div>
  1780. <div id="hour=-procs-all">
  1781. <div id="hour=,DateTime,HourRange">
  1782. <dt><pre><span class="Keyword">proc</span> <a href="#hour%3D%2CDateTime%2CHourRange"><span class="Identifier">hour=</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="times.html#HourRange"><span class="Identifier">HourRange</span></a><span class="Other">)</span> {.
  1783. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;Deprecated since v1.3.1&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1784. <dd>
  1785. <div class="deprecation-message">
  1786. <b>Deprecated:</b> Deprecated since v1.3.1
  1787. </div>
  1788. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2872" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1789. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2872" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1790. </dd>
  1791. </div>
  1792. </div>
  1793. <div id="hours-procs-all">
  1794. <div id="hours,int">
  1795. <dt><pre><span class="Keyword">proc</span> <a href="#hours%2Cint"><span class="Identifier">hours</span></a><span class="Other">(</span><span class="Identifier">h</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1796. <dd>
  1797. <p>TimeInterval of <tt class="docutils literal"><span class="pre"><span class="Identifier">h</span></span></tt> hours.</p>
  1798. <p><tt class="docutils literal"><span class="pre"><span class="Identifier">echo</span> <span class="Identifier">getTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">+</span> <span class="FloatNumber">2.</span><span class="Identifier">hours</span></span></tt></p>
  1799. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2610" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1800. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2610" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1801. </dd>
  1802. </div>
  1803. </div>
  1804. <div id="inDays-procs-all">
  1805. <div id="inDays,Duration">
  1806. <dt><pre><span class="Keyword">proc</span> <a href="#inDays%2CDuration"><span class="Identifier">inDays</span></a><span class="Other">(</span><span class="Identifier">dur</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1807. <dd>
  1808. Converts the duration to the number of whole days.
  1809. <p><strong class="examples_text">Example:</strong></p>
  1810. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dur</span> <span class="Operator">=</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="Operator">-</span><span class="DecNumber">50</span><span class="Punctuation">)</span>
  1811. <span class="Identifier">doAssert</span> <span class="Identifier">dur</span><span class="Operator">.</span><span class="Identifier">inDays</span> <span class="Operator">==</span> <span class="Operator">-</span><span class="DecNumber">2</span></pre>
  1812. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L713" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1813. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L713" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1814. </dd>
  1815. </div>
  1816. </div>
  1817. <div id="inHours-procs-all">
  1818. <div id="inHours,Duration">
  1819. <dt><pre><span class="Keyword">proc</span> <a href="#inHours%2CDuration"><span class="Identifier">inHours</span></a><span class="Other">(</span><span class="Identifier">dur</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1820. <dd>
  1821. Converts the duration to the number of whole hours.
  1822. <p><strong class="examples_text">Example:</strong></p>
  1823. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dur</span> <span class="Operator">=</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">minutes</span> <span class="Operator">=</span> <span class="DecNumber">60</span><span class="Punctuation">,</span> <span class="Identifier">days</span> <span class="Operator">=</span> <span class="DecNumber">2</span><span class="Punctuation">)</span>
  1824. <span class="Identifier">doAssert</span> <span class="Identifier">dur</span><span class="Operator">.</span><span class="Identifier">inHours</span> <span class="Operator">==</span> <span class="DecNumber">49</span></pre>
  1825. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L720" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1826. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L720" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1827. </dd>
  1828. </div>
  1829. </div>
  1830. <div id="initDateTime-procs-all">
  1831. <div id="initDateTime,MonthdayRange,Month,int,HourRange,MinuteRange,SecondRange,NanosecondRange,Timezone">
  1832. <dt><pre><span class="Keyword">proc</span> <a href="#initDateTime%2CMonthdayRange%2CMonth%2Cint%2CHourRange%2CMinuteRange%2CSecondRange%2CNanosecondRange%2CTimezone"><span class="Identifier">initDateTime</span></a><span class="Other">(</span><span class="Identifier">monthday</span><span class="Other">:</span> <a href="times.html#MonthdayRange"><span class="Identifier">MonthdayRange</span></a><span class="Other">;</span> <span class="Identifier">month</span><span class="Other">:</span> <a href="times.html#Month"><span class="Identifier">Month</span></a><span class="Other">;</span> <span class="Identifier">year</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">;</span>
  1833. <span class="Identifier">hour</span><span class="Other">:</span> <a href="times.html#HourRange"><span class="Identifier">HourRange</span></a><span class="Other">;</span> <span class="Identifier">minute</span><span class="Other">:</span> <a href="times.html#MinuteRange"><span class="Identifier">MinuteRange</span></a><span class="Other">;</span> <span class="Identifier">second</span><span class="Other">:</span> <a href="times.html#SecondRange"><span class="Identifier">SecondRange</span></a><span class="Other">;</span>
  1834. <span class="Identifier">nanosecond</span><span class="Other">:</span> <a href="times.html#NanosecondRange"><span class="Identifier">NanosecondRange</span></a><span class="Other">;</span> <span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a> <span class="Other">=</span> <span class="Identifier">local</span><span class="Other">(</span><span class="Other">)</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.
  1835. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;use `dateTime`&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1836. <dd>
  1837. <div class="deprecation-message">
  1838. <b>Deprecated:</b> use `dateTime`
  1839. </div>
  1840. Create a new <a class="reference external" href="#DateTime">DateTime</a> in the specified timezone.
  1841. <p><strong class="examples_text">Example: cmd: --warning:deprecated:off</strong></p>
  1842. <pre class="listing"><span class="Identifier">assert</span> <span class="Operator">$</span><span class="Identifier">initDateTime</span><span class="Punctuation">(</span><span class="DecNumber">30</span><span class="Punctuation">,</span> <span class="Identifier">mMar</span><span class="Punctuation">,</span> <span class="DecNumber">2017</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;2017-03-30T00:00:00Z&quot;</span></pre>
  1843. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1439" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1844. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1439" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1845. </dd>
  1846. </div>
  1847. <div id="initDateTime,MonthdayRange,Month,int,HourRange,MinuteRange,SecondRange,Timezone">
  1848. <dt><pre><span class="Keyword">proc</span> <a href="#initDateTime%2CMonthdayRange%2CMonth%2Cint%2CHourRange%2CMinuteRange%2CSecondRange%2CTimezone"><span class="Identifier">initDateTime</span></a><span class="Other">(</span><span class="Identifier">monthday</span><span class="Other">:</span> <a href="times.html#MonthdayRange"><span class="Identifier">MonthdayRange</span></a><span class="Other">;</span> <span class="Identifier">month</span><span class="Other">:</span> <a href="times.html#Month"><span class="Identifier">Month</span></a><span class="Other">;</span> <span class="Identifier">year</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">;</span>
  1849. <span class="Identifier">hour</span><span class="Other">:</span> <a href="times.html#HourRange"><span class="Identifier">HourRange</span></a><span class="Other">;</span> <span class="Identifier">minute</span><span class="Other">:</span> <a href="times.html#MinuteRange"><span class="Identifier">MinuteRange</span></a><span class="Other">;</span> <span class="Identifier">second</span><span class="Other">:</span> <a href="times.html#SecondRange"><span class="Identifier">SecondRange</span></a><span class="Other">;</span>
  1850. <span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a> <span class="Other">=</span> <span class="Identifier">local</span><span class="Other">(</span><span class="Other">)</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.
  1851. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;use `dateTime`&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1852. <dd>
  1853. <div class="deprecation-message">
  1854. <b>Deprecated:</b> use `dateTime`
  1855. </div>
  1856. Create a new <a class="reference external" href="#DateTime">DateTime</a> in the specified timezone.
  1857. <p><strong class="examples_text">Example: cmd: --warning:deprecated:off</strong></p>
  1858. <pre class="listing"><span class="Identifier">assert</span> <span class="Operator">$</span><span class="Identifier">initDateTime</span><span class="Punctuation">(</span><span class="DecNumber">30</span><span class="Punctuation">,</span> <span class="Identifier">mMar</span><span class="Punctuation">,</span> <span class="DecNumber">2017</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;2017-03-30T00:00:00Z&quot;</span></pre>
  1859. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1448" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1860. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1448" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1861. </dd>
  1862. </div>
  1863. <div id="initDateTime,WeekDay,IsoWeekRange,IsoYear,HourRange,MinuteRange,SecondRange,NanosecondRange,Timezone">
  1864. <dt><pre><span class="Keyword">proc</span> <a href="#initDateTime%2CWeekDay%2CIsoWeekRange%2CIsoYear%2CHourRange%2CMinuteRange%2CSecondRange%2CNanosecondRange%2CTimezone"><span class="Identifier">initDateTime</span></a><span class="Other">(</span><span class="Identifier">weekday</span><span class="Other">:</span> <a href="times.html#WeekDay"><span class="Identifier">WeekDay</span></a><span class="Other">;</span> <span class="Identifier">isoweek</span><span class="Other">:</span> <a href="times.html#IsoWeekRange"><span class="Identifier">IsoWeekRange</span></a><span class="Other">;</span> <span class="Identifier">isoyear</span><span class="Other">:</span> <a href="times.html#IsoYear"><span class="Identifier">IsoYear</span></a><span class="Other">;</span>
  1865. <span class="Identifier">hour</span><span class="Other">:</span> <a href="times.html#HourRange"><span class="Identifier">HourRange</span></a><span class="Other">;</span> <span class="Identifier">minute</span><span class="Other">:</span> <a href="times.html#MinuteRange"><span class="Identifier">MinuteRange</span></a><span class="Other">;</span> <span class="Identifier">second</span><span class="Other">:</span> <a href="times.html#SecondRange"><span class="Identifier">SecondRange</span></a><span class="Other">;</span>
  1866. <span class="Identifier">nanosecond</span><span class="Other">:</span> <a href="times.html#NanosecondRange"><span class="Identifier">NanosecondRange</span></a><span class="Other">;</span> <span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a> <span class="Other">=</span> <span class="Identifier">local</span><span class="Other">(</span><span class="Other">)</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.
  1867. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1868. <dd>
  1869. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1531" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1870. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1531" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1871. </dd>
  1872. </div>
  1873. <div id="initDateTime,WeekDay,IsoWeekRange,IsoYear,HourRange,MinuteRange,SecondRange,Timezone">
  1874. <dt><pre><span class="Keyword">proc</span> <a href="#initDateTime%2CWeekDay%2CIsoWeekRange%2CIsoYear%2CHourRange%2CMinuteRange%2CSecondRange%2CTimezone"><span class="Identifier">initDateTime</span></a><span class="Other">(</span><span class="Identifier">weekday</span><span class="Other">:</span> <a href="times.html#WeekDay"><span class="Identifier">WeekDay</span></a><span class="Other">;</span> <span class="Identifier">isoweek</span><span class="Other">:</span> <a href="times.html#IsoWeekRange"><span class="Identifier">IsoWeekRange</span></a><span class="Other">;</span> <span class="Identifier">isoyear</span><span class="Other">:</span> <a href="times.html#IsoYear"><span class="Identifier">IsoYear</span></a><span class="Other">;</span>
  1875. <span class="Identifier">hour</span><span class="Other">:</span> <a href="times.html#HourRange"><span class="Identifier">HourRange</span></a><span class="Other">;</span> <span class="Identifier">minute</span><span class="Other">:</span> <a href="times.html#MinuteRange"><span class="Identifier">MinuteRange</span></a><span class="Other">;</span> <span class="Identifier">second</span><span class="Other">:</span> <a href="times.html#SecondRange"><span class="Identifier">SecondRange</span></a><span class="Other">;</span>
  1876. <span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a> <span class="Other">=</span> <span class="Identifier">local</span><span class="Other">(</span><span class="Other">)</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1877. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1878. <dd>
  1879. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1536" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1880. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1536" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1881. </dd>
  1882. </div>
  1883. </div>
  1884. <div id="initDuration-procs-all">
  1885. <div id="initDuration,int64,int64,int64,int64,int64,int64,int64,int64">
  1886. <dt><pre><span class="Keyword">proc</span> <a href="#initDuration%2Cint64%2Cint64%2Cint64%2Cint64%2Cint64%2Cint64%2Cint64%2Cint64"><span class="Identifier">initDuration</span></a><span class="Other">(</span><span class="Identifier">nanoseconds</span><span class="Other">,</span> <span class="Identifier">microseconds</span><span class="Other">,</span> <span class="Identifier">milliseconds</span><span class="Other">,</span> <span class="Identifier">seconds</span><span class="Other">,</span> <span class="Identifier">minutes</span><span class="Other">,</span>
  1887. <span class="Identifier">hours</span><span class="Other">,</span> <span class="Identifier">days</span><span class="Other">,</span> <span class="Identifier">weeks</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1888. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1889. <dd>
  1890. Create a new <a class="reference external" href="#Duration">Duration</a>.
  1891. <p><strong class="examples_text">Example:</strong></p>
  1892. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dur</span> <span class="Operator">=</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">,</span> <span class="Identifier">milliseconds</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span>
  1893. <span class="Identifier">doAssert</span> <span class="Identifier">dur</span><span class="Operator">.</span><span class="Identifier">inMilliseconds</span> <span class="Operator">==</span> <span class="DecNumber">1001</span>
  1894. <span class="Identifier">doAssert</span> <span class="Identifier">dur</span><span class="Operator">.</span><span class="Identifier">inSeconds</span> <span class="Operator">==</span> <span class="DecNumber">1</span></pre>
  1895. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L665" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1896. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L665" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1897. </dd>
  1898. </div>
  1899. </div>
  1900. <div id="initTime-procs-all">
  1901. <div id="initTime,int64,NanosecondRange">
  1902. <dt><pre><span class="Keyword">proc</span> <a href="#initTime%2Cint64%2CNanosecondRange"><span class="Identifier">initTime</span></a><span class="Other">(</span><span class="Identifier">unix</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a><span class="Other">;</span> <span class="Identifier">nanosecond</span><span class="Other">:</span> <a href="times.html#NanosecondRange"><span class="Identifier">NanosecondRange</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1903. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1904. <dd>
  1905. Create a <a class="reference external" href="#Time">Time</a> from a unix timestamp and a nanosecond part.
  1906. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L915" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1907. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L915" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1908. </dd>
  1909. </div>
  1910. </div>
  1911. <div id="initTimeFormat-procs-all">
  1912. <div id="initTimeFormat,string">
  1913. <dt><pre><span class="Keyword">proc</span> <a href="#initTimeFormat%2Cstring"><span class="Identifier">initTimeFormat</span></a><span class="Other">(</span><span class="Identifier">format</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeFormat"><span class="Identifier">TimeFormat</span></a> {.
  1914. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">TimeFormatParseError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1915. <dd>
  1916. <p>Construct a new time format for parsing &amp; formatting time types.</p>
  1917. <p>See <a class="reference internal" href="#parsing-and-formatting-dates">Parsing and formatting dates</a> for documentation of the <tt class="docutils literal"><span class="pre"><span class="Identifier">format</span></span></tt> argument.</p>
  1918. <p><strong class="examples_text">Example:</strong></p>
  1919. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">f</span> <span class="Operator">=</span> <span class="Identifier">initTimeFormat</span><span class="Punctuation">(</span><span class="StringLit">&quot;yyyy-MM-dd&quot;</span><span class="Punctuation">)</span>
  1920. <span class="Identifier">doAssert</span> <span class="StringLit">&quot;2000-01-01&quot;</span> <span class="Operator">==</span> <span class="StringLit">&quot;2000-01-01&quot;</span><span class="Operator">.</span><span class="Identifier">parse</span><span class="Punctuation">(</span><span class="Identifier">f</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">format</span><span class="Punctuation">(</span><span class="Identifier">f</span><span class="Punctuation">)</span></pre>
  1921. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1764" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1922. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1764" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1923. </dd>
  1924. </div>
  1925. </div>
  1926. <div id="initTimeInterval-procs-all">
  1927. <div id="initTimeInterval,int,int,int,int,int,int,int,int,int,int">
  1928. <dt><pre><span class="Keyword">proc</span> <a href="#initTimeInterval%2Cint%2Cint%2Cint%2Cint%2Cint%2Cint%2Cint%2Cint%2Cint%2Cint"><span class="Identifier">initTimeInterval</span></a><span class="Other">(</span><span class="Identifier">nanoseconds</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span> <span class="Identifier">microseconds</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span> <span class="Identifier">milliseconds</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span>
  1929. <span class="Identifier">seconds</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span> <span class="Identifier">minutes</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span> <span class="Identifier">hours</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span> <span class="Identifier">days</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span> <span class="Identifier">weeks</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span>
  1930. <span class="Identifier">months</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span> <span class="Identifier">years</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  1931. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1932. <dd>
  1933. <p>Creates a new <a class="reference external" href="#TimeInterval">TimeInterval</a>.</p>
  1934. <p>This proc doesn't perform any normalization! For example, <tt class="docutils literal"><span class="pre"><span class="Identifier">initTimeInterval</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">24</span><span class="Punctuation">)</span></span></tt> and <tt class="docutils literal"><span class="pre"><span class="Identifier">initTimeInterval</span><span class="Punctuation">(</span><span class="Identifier">days</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span></span></tt> are not equal.</p>
  1935. <p>You can also use the convenience procedures called <tt class="docutils literal"><span class="pre"><span class="Identifier">milliseconds</span></span></tt>, <tt class="docutils literal"><span class="pre"><span class="Identifier">seconds</span></span></tt>, <tt class="docutils literal"><span class="pre"><span class="Identifier">minutes</span></span></tt>, <tt class="docutils literal"><span class="pre"><span class="Identifier">hours</span></span></tt>, <tt class="docutils literal"><span class="pre"><span class="Identifier">days</span></span></tt>, <tt class="docutils literal"><span class="pre"><span class="Identifier">months</span></span></tt>, and <tt class="docutils literal"><span class="pre"><span class="Identifier">years</span></span></tt>.</p>
  1936. <p><strong class="examples_text">Example:</strong></p>
  1937. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">day</span> <span class="Operator">=</span> <span class="Identifier">initTimeInterval</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">24</span><span class="Punctuation">)</span>
  1938. <span class="Keyword">let</span> <span class="Identifier">dt</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2000</span><span class="Punctuation">,</span> <span class="Identifier">mJan</span><span class="Punctuation">,</span> <span class="DecNumber">01</span><span class="Punctuation">,</span> <span class="DecNumber">12</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  1939. <span class="Identifier">doAssert</span> <span class="Operator">$</span><span class="Punctuation">(</span><span class="Identifier">dt</span> <span class="Operator">+</span> <span class="Identifier">day</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="StringLit">&quot;2000-01-02T12:00:00Z&quot;</span>
  1940. <span class="Identifier">doAssert</span> <span class="Identifier">initTimeInterval</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">24</span><span class="Punctuation">)</span> <span class="Operator">!=</span> <span class="Identifier">initTimeInterval</span><span class="Punctuation">(</span><span class="Identifier">days</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span></pre>
  1941. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2356" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1942. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2356" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1943. </dd>
  1944. </div>
  1945. </div>
  1946. <div id="inMicroseconds-procs-all">
  1947. <div id="inMicroseconds,Duration">
  1948. <dt><pre><span class="Keyword">proc</span> <a href="#inMicroseconds%2CDuration"><span class="Identifier">inMicroseconds</span></a><span class="Other">(</span><span class="Identifier">dur</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1949. <dd>
  1950. Converts the duration to the number of whole microseconds.
  1951. <p><strong class="examples_text">Example:</strong></p>
  1952. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dur</span> <span class="Operator">=</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="Operator">-</span><span class="DecNumber">2</span><span class="Punctuation">)</span>
  1953. <span class="Identifier">doAssert</span> <span class="Identifier">dur</span><span class="Operator">.</span><span class="Identifier">inMicroseconds</span> <span class="Operator">==</span> <span class="Operator">-</span><span class="DecNumber">2000000</span></pre>
  1954. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L748" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1955. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L748" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1956. </dd>
  1957. </div>
  1958. </div>
  1959. <div id="inMilliseconds-procs-all">
  1960. <div id="inMilliseconds,Duration">
  1961. <dt><pre><span class="Keyword">proc</span> <a href="#inMilliseconds%2CDuration"><span class="Identifier">inMilliseconds</span></a><span class="Other">(</span><span class="Identifier">dur</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1962. <dd>
  1963. Converts the duration to the number of whole milliseconds.
  1964. <p><strong class="examples_text">Example:</strong></p>
  1965. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dur</span> <span class="Operator">=</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="Operator">-</span><span class="DecNumber">2</span><span class="Punctuation">)</span>
  1966. <span class="Identifier">doAssert</span> <span class="Identifier">dur</span><span class="Operator">.</span><span class="Identifier">inMilliseconds</span> <span class="Operator">==</span> <span class="Operator">-</span><span class="DecNumber">2000</span></pre>
  1967. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L741" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1968. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L741" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1969. </dd>
  1970. </div>
  1971. </div>
  1972. <div id="inMinutes-procs-all">
  1973. <div id="inMinutes,Duration">
  1974. <dt><pre><span class="Keyword">proc</span> <a href="#inMinutes%2CDuration"><span class="Identifier">inMinutes</span></a><span class="Other">(</span><span class="Identifier">dur</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1975. <dd>
  1976. Converts the duration to the number of whole minutes.
  1977. <p><strong class="examples_text">Example:</strong></p>
  1978. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dur</span> <span class="Operator">=</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">2</span><span class="Punctuation">,</span> <span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="DecNumber">10</span><span class="Punctuation">)</span>
  1979. <span class="Identifier">doAssert</span> <span class="Identifier">dur</span><span class="Operator">.</span><span class="Identifier">inMinutes</span> <span class="Operator">==</span> <span class="DecNumber">120</span></pre>
  1980. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L727" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1981. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L727" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1982. </dd>
  1983. </div>
  1984. </div>
  1985. <div id="inNanoseconds-procs-all">
  1986. <div id="inNanoseconds,Duration">
  1987. <dt><pre><span class="Keyword">proc</span> <a href="#inNanoseconds%2CDuration"><span class="Identifier">inNanoseconds</span></a><span class="Other">(</span><span class="Identifier">dur</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  1988. <dd>
  1989. Converts the duration to the number of whole nanoseconds.
  1990. <p><strong class="examples_text">Example:</strong></p>
  1991. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dur</span> <span class="Operator">=</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">seconds</span> <span class="Operator">=</span> <span class="Operator">-</span><span class="DecNumber">2</span><span class="Punctuation">)</span>
  1992. <span class="Identifier">doAssert</span> <span class="Identifier">dur</span><span class="Operator">.</span><span class="Identifier">inNanoseconds</span> <span class="Operator">==</span> <span class="Operator">-</span><span class="DecNumber">2000000000</span></pre>
  1993. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L755" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  1994. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L755" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  1995. </dd>
  1996. </div>
  1997. </div>
  1998. <div id="inSeconds-procs-all">
  1999. <div id="inSeconds,Duration">
  2000. <dt><pre><span class="Keyword">proc</span> <a href="#inSeconds%2CDuration"><span class="Identifier">inSeconds</span></a><span class="Other">(</span><span class="Identifier">dur</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2001. <dd>
  2002. Converts the duration to the number of whole seconds.
  2003. <p><strong class="examples_text">Example:</strong></p>
  2004. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dur</span> <span class="Operator">=</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">hours</span> <span class="Operator">=</span> <span class="DecNumber">2</span><span class="Punctuation">,</span> <span class="Identifier">milliseconds</span> <span class="Operator">=</span> <span class="DecNumber">10</span><span class="Punctuation">)</span>
  2005. <span class="Identifier">doAssert</span> <span class="Identifier">dur</span><span class="Operator">.</span><span class="Identifier">inSeconds</span> <span class="Operator">==</span> <span class="DecNumber">2</span> <span class="Operator">*</span> <span class="DecNumber">60</span> <span class="Operator">*</span> <span class="DecNumber">60</span></pre>
  2006. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L734" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2007. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L734" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2008. </dd>
  2009. </div>
  2010. </div>
  2011. <div id="inWeeks-procs-all">
  2012. <div id="inWeeks,Duration">
  2013. <dt><pre><span class="Keyword">proc</span> <a href="#inWeeks%2CDuration"><span class="Identifier">inWeeks</span></a><span class="Other">(</span><span class="Identifier">dur</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2014. <dd>
  2015. Converts the duration to the number of whole weeks.
  2016. <p><strong class="examples_text">Example:</strong></p>
  2017. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dur</span> <span class="Operator">=</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">days</span> <span class="Operator">=</span> <span class="DecNumber">8</span><span class="Punctuation">)</span>
  2018. <span class="Identifier">doAssert</span> <span class="Identifier">dur</span><span class="Operator">.</span><span class="Identifier">inWeeks</span> <span class="Operator">==</span> <span class="DecNumber">1</span></pre>
  2019. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L706" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2020. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L706" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2021. </dd>
  2022. </div>
  2023. </div>
  2024. <div id="inZone-procs-all">
  2025. <div id="inZone,DateTime,Timezone">
  2026. <dt><pre><span class="Keyword">proc</span> <a href="#inZone%2CDateTime%2CTimezone"><span class="Identifier">inZone</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  2027. <span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2028. <dd>
  2029. Returns a <tt class="docutils literal"><span class="pre"><span class="Identifier">DateTime</span></span></tt> representing the same point in time as <tt class="docutils literal"><span class="pre"><span class="Identifier">dt</span></span></tt> but using <tt class="docutils literal"><span class="pre"><span class="Identifier">zone</span></span></tt> as the timezone.
  2030. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1270" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2031. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1270" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2032. </dd>
  2033. </div>
  2034. <div id="inZone,Time,Timezone">
  2035. <dt><pre><span class="Keyword">proc</span> <a href="#inZone%2CTime%2CTimezone"><span class="Identifier">inZone</span></a><span class="Other">(</span><span class="Identifier">time</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">;</span> <span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  2036. <span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2037. <dd>
  2038. Convert <tt class="docutils literal"><span class="pre"><span class="Identifier">time</span></span></tt> into a <tt class="docutils literal"><span class="pre"><span class="Identifier">DateTime</span></span></tt> using <tt class="docutils literal"><span class="pre"><span class="Identifier">zone</span></span></tt> as the timezone.
  2039. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1265" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2040. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1265" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2041. </dd>
  2042. </div>
  2043. </div>
  2044. <div id="isDst-procs-all">
  2045. <div id="isDst,DateTime">
  2046. <dt><pre><span class="Keyword">proc</span> <a href="#isDst%2CDateTime"><span class="Identifier">isDst</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2047. <dd>
  2048. Determines whether DST is in effect. Always false for the JavaScript backend.
  2049. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1111" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2050. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1111" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2051. </dd>
  2052. </div>
  2053. </div>
  2054. <div id="isDst=-procs-all">
  2055. <div id="isDst=,DateTime,bool">
  2056. <dt><pre><span class="Keyword">proc</span> <a href="#isDst%3D%2CDateTime%2Cbool"><span class="Identifier">isDst=</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a><span class="Other">)</span> {.
  2057. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;Deprecated since v1.3.1&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2058. <dd>
  2059. <div class="deprecation-message">
  2060. <b>Deprecated:</b> Deprecated since v1.3.1
  2061. </div>
  2062. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2890" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2063. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2890" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2064. </dd>
  2065. </div>
  2066. </div>
  2067. <div id="isInitialized-procs-all">
  2068. <div id="isInitialized,DateTime">
  2069. <dt><pre><span class="Keyword">proc</span> <a href="#isInitialized%2CDateTime"><span class="Identifier">isInitialized</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2070. <dd>
  2071. <p><strong class="examples_text">Example:</strong></p>
  2072. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">now</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">isInitialized</span>
  2073. <span class="Identifier">doAssert</span> <span class="Keyword">not</span> <span class="Identifier">default</span><span class="Punctuation">(</span><span class="Identifier">DateTime</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">isInitialized</span></pre>
  2074. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1133" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2075. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1133" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2076. </dd>
  2077. </div>
  2078. </div>
  2079. <div id="isLeapDay-procs-all">
  2080. <div id="isLeapDay,DateTime">
  2081. <dt><pre><span class="Keyword">proc</span> <a href="#isLeapDay%2CDateTime"><span class="Identifier">isLeapDay</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2082. <dd>
  2083. Returns whether <tt class="docutils literal"><span class="pre"><span class="Identifier">t</span></span></tt> is a leap day, i.e. Feb 29 in a leap year. This matters as it affects time offset calculations.
  2084. <p><strong class="examples_text">Example:</strong></p>
  2085. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dt</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2020</span><span class="Punctuation">,</span> <span class="Identifier">mFeb</span><span class="Punctuation">,</span> <span class="DecNumber">29</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  2086. <span class="Identifier">doAssert</span> <span class="Identifier">dt</span><span class="Operator">.</span><span class="Identifier">isLeapDay</span>
  2087. <span class="Identifier">doAssert</span> <span class="Identifier">dt</span><span class="Operator">+</span><span class="FloatNumber">1.</span><span class="Identifier">years</span><span class="Operator">-</span><span class="FloatNumber">1.</span><span class="Identifier">years</span> <span class="Operator">!=</span> <span class="Identifier">dt</span>
  2088. <span class="Keyword">let</span> <span class="Identifier">dt2</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2020</span><span class="Punctuation">,</span> <span class="Identifier">mFeb</span><span class="Punctuation">,</span> <span class="DecNumber">28</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  2089. <span class="Identifier">doAssert</span> <span class="Keyword">not</span> <span class="Identifier">dt2</span><span class="Operator">.</span><span class="Identifier">isLeapDay</span>
  2090. <span class="Identifier">doAssert</span> <span class="Identifier">dt2</span><span class="Operator">+</span><span class="FloatNumber">1.</span><span class="Identifier">years</span><span class="Operator">-</span><span class="FloatNumber">1.</span><span class="Identifier">years</span> <span class="Operator">==</span> <span class="Identifier">dt2</span>
  2091. <span class="Identifier">doAssertRaises</span><span class="Punctuation">(</span><span class="Identifier">Exception</span><span class="Punctuation">)</span><span class="Punctuation">:</span> <span class="Keyword">discard</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2021</span><span class="Punctuation">,</span> <span class="Identifier">mFeb</span><span class="Punctuation">,</span> <span class="DecNumber">29</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span></pre>
  2092. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1143" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2093. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1143" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2094. </dd>
  2095. </div>
  2096. </div>
  2097. <div id="isLeapYear-procs-all">
  2098. <div id="isLeapYear,int">
  2099. <dt><pre><span class="Keyword">proc</span> <a href="#isLeapYear%2Cint"><span class="Identifier">isLeapYear</span></a><span class="Other">(</span><span class="Identifier">year</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2100. <dd>
  2101. Returns true if <tt class="docutils literal"><span class="pre"><span class="Identifier">year</span></span></tt> is a leap year.
  2102. <p><strong class="examples_text">Example:</strong></p>
  2103. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">isLeapYear</span><span class="Punctuation">(</span><span class="DecNumber">2000</span><span class="Punctuation">)</span>
  2104. <span class="Identifier">doAssert</span> <span class="Keyword">not</span> <span class="Identifier">isLeapYear</span><span class="Punctuation">(</span><span class="DecNumber">1900</span><span class="Punctuation">)</span></pre>
  2105. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L462" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2106. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L462" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2107. </dd>
  2108. </div>
  2109. </div>
  2110. <div id="local-procs-all">
  2111. <div id="local">
  2112. <dt><pre><span class="Keyword">proc</span> <a href="#local"><span class="Identifier">local</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2113. <dd>
  2114. Get the <tt class="docutils literal"><span class="pre"><span class="Identifier">Timezone</span></span></tt> implementation for the local timezone.
  2115. <p><strong class="examples_text">Example:</strong></p>
  2116. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">now</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">timezone</span> <span class="Operator">==</span> <span class="Identifier">local</span><span class="Punctuation">(</span><span class="Punctuation">)</span>
  2117. <span class="Identifier">doAssert</span> <span class="Identifier">local</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">name</span> <span class="Operator">==</span> <span class="StringLit">&quot;LOCAL&quot;</span></pre>
  2118. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1385" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2119. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1385" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2120. </dd>
  2121. </div>
  2122. <div id="local,DateTime">
  2123. <dt><pre><span class="Keyword">proc</span> <a href="#local%2CDateTime"><span class="Identifier">local</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2124. <dd>
  2125. Shorthand for <tt class="docutils literal"><span class="pre"><span class="Identifier">dt</span><span class="Operator">.</span><span class="Identifier">inZone</span><span class="Punctuation">(</span><span class="Identifier">local</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span></span></tt>.
  2126. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1399" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2127. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1399" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2128. </dd>
  2129. </div>
  2130. <div id="local,Time">
  2131. <dt><pre><span class="Keyword">proc</span> <a href="#local%2CTime"><span class="Identifier">local</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2132. <dd>
  2133. Shorthand for <tt class="docutils literal"><span class="pre"><span class="Identifier">t</span><span class="Operator">.</span><span class="Identifier">inZone</span><span class="Punctuation">(</span><span class="Identifier">local</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span></span></tt>.
  2134. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1407" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2135. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1407" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2136. </dd>
  2137. </div>
  2138. </div>
  2139. <div id="low-procs-all">
  2140. <div id="low,typedesc[Duration]">
  2141. <dt><pre><span class="Keyword">proc</span> <a href="#low%2Ctypedesc%5BDuration%5D"><span class="Identifier">low</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <a href="system.html#typedesc"><span class="Identifier">typedesc</span></a><span class="Other">[</span><a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a></pre></dt>
  2142. <dd>
  2143. Get the longest representable duration of negative direction.
  2144. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L901" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2145. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L901" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2146. </dd>
  2147. </div>
  2148. <div id="low,typedesc[Time]">
  2149. <dt><pre><span class="Keyword">proc</span> <a href="#low%2Ctypedesc%5BTime%5D"><span class="Identifier">low</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <a href="system.html#typedesc"><span class="Identifier">typedesc</span></a><span class="Other">[</span><a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a></pre></dt>
  2150. <dd>
  2151. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1045" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2152. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1045" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2153. </dd>
  2154. </div>
  2155. </div>
  2156. <div id="microseconds-procs-all">
  2157. <div id="microseconds,int">
  2158. <dt><pre><span class="Keyword">proc</span> <a href="#microseconds%2Cint"><span class="Identifier">microseconds</span></a><span class="Other">(</span><span class="Identifier">micros</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  2159. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2160. <dd>
  2161. TimeInterval of <tt class="docutils literal"><span class="pre"><span class="Identifier">micros</span></span></tt> microseconds.
  2162. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2590" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2163. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2590" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2164. </dd>
  2165. </div>
  2166. </div>
  2167. <div id="milliseconds-procs-all">
  2168. <div id="milliseconds,int">
  2169. <dt><pre><span class="Keyword">proc</span> <a href="#milliseconds%2Cint"><span class="Identifier">milliseconds</span></a><span class="Other">(</span><span class="Identifier">ms</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  2170. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2171. <dd>
  2172. TimeInterval of <tt class="docutils literal"><span class="pre"><span class="Identifier">ms</span></span></tt> milliseconds.
  2173. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2594" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2174. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2594" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2175. </dd>
  2176. </div>
  2177. </div>
  2178. <div id="minute-procs-all">
  2179. <div id="minute,DateTime">
  2180. <dt><pre><span class="Keyword">proc</span> <a href="#minute%2CDateTime"><span class="Identifier">minute</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#MinuteRange"><span class="Identifier">MinuteRange</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  2181. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2182. <dd>
  2183. The number of minutes after the hour, in the range 0 to 59.
  2184. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1067" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2185. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1067" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2186. </dd>
  2187. </div>
  2188. </div>
  2189. <div id="minute=-procs-all">
  2190. <div id="minute=,DateTime,MinuteRange">
  2191. <dt><pre><span class="Keyword">proc</span> <a href="#minute%3D%2CDateTime%2CMinuteRange"><span class="Identifier">minute=</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="times.html#MinuteRange"><span class="Identifier">MinuteRange</span></a><span class="Other">)</span> {.
  2192. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;Deprecated since v1.3.1&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2193. <dd>
  2194. <div class="deprecation-message">
  2195. <b>Deprecated:</b> Deprecated since v1.3.1
  2196. </div>
  2197. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2869" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2198. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2869" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2199. </dd>
  2200. </div>
  2201. </div>
  2202. <div id="minutes-procs-all">
  2203. <div id="minutes,int">
  2204. <dt><pre><span class="Keyword">proc</span> <a href="#minutes%2Cint"><span class="Identifier">minutes</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2205. <dd>
  2206. <p>TimeInterval of <tt class="docutils literal"><span class="pre"><span class="Identifier">m</span></span></tt> minutes.</p>
  2207. <p><tt class="docutils literal"><span class="pre"><span class="Identifier">echo</span> <span class="Identifier">getTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">+</span> <span class="FloatNumber">5.</span><span class="Identifier">minutes</span></span></tt></p>
  2208. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2604" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2209. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2604" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2210. </dd>
  2211. </div>
  2212. </div>
  2213. <div id="month-procs-all">
  2214. <div id="month,DateTime">
  2215. <dt><pre><span class="Keyword">proc</span> <a href="#month%2CDateTime"><span class="Identifier">month</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Month"><span class="Identifier">Month</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2216. <dd>
  2217. The month as an enum, the ordinal value is in the range 1 to 12.
  2218. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1085" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2219. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1085" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2220. </dd>
  2221. </div>
  2222. </div>
  2223. <div id="monthday-procs-all">
  2224. <div id="monthday,DateTime">
  2225. <dt><pre><span class="Keyword">proc</span> <a href="#monthday%2CDateTime"><span class="Identifier">monthday</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#MonthdayRange"><span class="Identifier">MonthdayRange</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  2226. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2227. <dd>
  2228. The day of the month, in the range 1 to 31.
  2229. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1079" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2230. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1079" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2231. </dd>
  2232. </div>
  2233. </div>
  2234. <div id="monthdayZero=-procs-all">
  2235. <div id="monthdayZero=,DateTime,int">
  2236. <dt><pre><span class="Keyword">proc</span> <a href="#monthdayZero%3D%2CDateTime%2Cint"><span class="Identifier">monthdayZero=</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span> {.
  2237. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;Deprecated since v1.3.1&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2238. <dd>
  2239. <div class="deprecation-message">
  2240. <b>Deprecated:</b> Deprecated since v1.3.1
  2241. </div>
  2242. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2875" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2243. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2875" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2244. </dd>
  2245. </div>
  2246. </div>
  2247. <div id="months-procs-all">
  2248. <div id="months,int">
  2249. <dt><pre><span class="Keyword">proc</span> <a href="#months%2Cint"><span class="Identifier">months</span></a><span class="Other">(</span><span class="Identifier">m</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2250. <dd>
  2251. <p>TimeInterval of <tt class="docutils literal"><span class="pre"><span class="Identifier">m</span></span></tt> months.</p>
  2252. <p><tt class="docutils literal"><span class="pre"><span class="Identifier">echo</span> <span class="Identifier">getTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">+</span> <span class="FloatNumber">2.</span><span class="Identifier">months</span></span></tt></p>
  2253. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2628" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2254. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2628" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2255. </dd>
  2256. </div>
  2257. </div>
  2258. <div id="monthZero=-procs-all">
  2259. <div id="monthZero=,DateTime,int">
  2260. <dt><pre><span class="Keyword">proc</span> <a href="#monthZero%3D%2CDateTime%2Cint"><span class="Identifier">monthZero=</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span> {.
  2261. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;Deprecated since v1.3.1&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2262. <dd>
  2263. <div class="deprecation-message">
  2264. <b>Deprecated:</b> Deprecated since v1.3.1
  2265. </div>
  2266. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2878" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2267. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2878" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2268. </dd>
  2269. </div>
  2270. </div>
  2271. <div id="name-procs-all">
  2272. <div id="name,Timezone">
  2273. <dt><pre><span class="Keyword">proc</span> <a href="#name%2CTimezone"><span class="Identifier">name</span></a><span class="Other">(</span><span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2274. <dd>
  2275. <p>The name of the timezone.</p>
  2276. <p>If possible, the name will be the name used in the tz database. If the timezone doesn't exist in the tz database, or if the timezone name is unknown, then any string that describes the timezone unambiguously might be used. For example, the string &quot;LOCAL&quot; is used for the system's local timezone.</p>
  2277. <p>See also: <a class="reference external" href="https://en.wikipedia.org/wiki/Tz_database">https://en.wikipedia.org/wiki/Tz_database</a></p>
  2278. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1225" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2279. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1225" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2280. </dd>
  2281. </div>
  2282. </div>
  2283. <div id="nanosecond-procs-all">
  2284. <div id="nanosecond,DateTime">
  2285. <dt><pre><span class="Keyword">proc</span> <a href="#nanosecond%2CDateTime"><span class="Identifier">nanosecond</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#NanosecondRange"><span class="Identifier">NanosecondRange</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  2286. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2287. <dd>
  2288. The number of nanoseconds after the second, in the range 0 to 999_999_999.
  2289. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1055" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2290. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1055" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2291. </dd>
  2292. </div>
  2293. <div id="nanosecond,Time">
  2294. <dt><pre><span class="Keyword">proc</span> <a href="#nanosecond%2CTime"><span class="Identifier">nanosecond</span></a><span class="Other">(</span><span class="Identifier">time</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#NanosecondRange"><span class="Identifier">NanosecondRange</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2295. <dd>
  2296. Get the fractional part of a <tt class="docutils literal"><span class="pre"><span class="Identifier">Time</span></span></tt> as the number of nanoseconds of the second.
  2297. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L919" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2298. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L919" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2299. </dd>
  2300. </div>
  2301. </div>
  2302. <div id="nanosecond=-procs-all">
  2303. <div id="nanosecond=,DateTime,NanosecondRange">
  2304. <dt><pre><span class="Keyword">proc</span> <a href="#nanosecond%3D%2CDateTime%2CNanosecondRange"><span class="Identifier">nanosecond=</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="times.html#NanosecondRange"><span class="Identifier">NanosecondRange</span></a><span class="Other">)</span> {.
  2305. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;Deprecated since v1.3.1&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2306. <dd>
  2307. <div class="deprecation-message">
  2308. <b>Deprecated:</b> Deprecated since v1.3.1
  2309. </div>
  2310. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2863" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2311. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2863" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2312. </dd>
  2313. </div>
  2314. </div>
  2315. <div id="nanoseconds-procs-all">
  2316. <div id="nanoseconds,int">
  2317. <dt><pre><span class="Keyword">proc</span> <a href="#nanoseconds%2Cint"><span class="Identifier">nanoseconds</span></a><span class="Other">(</span><span class="Identifier">nanos</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  2318. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2319. <dd>
  2320. TimeInterval of <tt class="docutils literal"><span class="pre"><span class="Identifier">nanos</span></span></tt> nanoseconds.
  2321. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2586" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2322. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2586" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2323. </dd>
  2324. </div>
  2325. </div>
  2326. <div id="newTimezone-procs-all">
  2327. <div id="newTimezone,string,proc(Time),proc(Time)">
  2328. <dt><pre><span class="Keyword">proc</span> <a href="#newTimezone%2Cstring%2Cproc%28Time%29%2Cproc%28Time%29"><span class="Identifier">newTimezone</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">;</span> <span class="Identifier">zonedTimeFromTimeImpl</span><span class="Other">:</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">time</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#ZonedTime"><span class="Identifier">ZonedTime</span></a> {.
  2329. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span></span>.}<span class="Other">;</span> <span class="Identifier">zonedTimeFromAdjTimeImpl</span><span class="Other">:</span> <span class="Keyword">proc</span> <span class="Other">(</span>
  2330. <span class="Identifier">adjTime</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#ZonedTime"><span class="Identifier">ZonedTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span></span>.}<span class="Other">)</span><span class="Other">:</span> <span class="Identifier">owned</span> <span class="Identifier">Timezone</span> {.
  2331. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2332. <dd>
  2333. <p>Create a new <tt class="docutils literal"><span class="pre"><span class="Identifier">Timezone</span></span></tt>.</p>
  2334. <p><tt class="docutils literal"><span class="pre"><span class="Identifier">zonedTimeFromTimeImpl</span></span></tt> and <tt class="docutils literal"><span class="pre"><span class="Identifier">zonedTimeFromAdjTimeImpl</span></span></tt> is used as the underlying implementations for <tt class="docutils literal"><span class="pre"><span class="Identifier">zonedTimeFromTime</span></span></tt> and <tt class="docutils literal"><span class="pre"><span class="Identifier">zonedTimeFromAdjTime</span></span></tt>.</p>
  2335. <p>If possible, the name parameter should match the name used in the tz database. If the timezone doesn't exist in the tz database, or if the timezone name is unknown, then any string that describes the timezone unambiguously can be used. Note that the timezones name is used for checking equality!</p>
  2336. <p><strong class="examples_text">Example:</strong></p>
  2337. <pre class="listing"><span class="Keyword">proc</span> <span class="Identifier">utcTzInfo</span><span class="Punctuation">(</span><span class="Identifier">time</span><span class="Punctuation">:</span> <span class="Identifier">Time</span><span class="Punctuation">)</span><span class="Punctuation">:</span> <span class="Identifier">ZonedTime</span> <span class="Operator">=</span>
  2338. <span class="Identifier">ZonedTime</span><span class="Punctuation">(</span><span class="Identifier">utcOffset</span><span class="Punctuation">:</span> <span class="DecNumber">0</span><span class="Punctuation">,</span> <span class="Identifier">isDst</span><span class="Punctuation">:</span> <span class="Identifier">false</span><span class="Punctuation">,</span> <span class="Identifier">time</span><span class="Punctuation">:</span> <span class="Identifier">time</span><span class="Punctuation">)</span>
  2339. <span class="Keyword">let</span> <span class="Identifier">utc</span> <span class="Operator">=</span> <span class="Identifier">newTimezone</span><span class="Punctuation">(</span><span class="StringLit">&quot;Etc/UTC&quot;</span><span class="Punctuation">,</span> <span class="Identifier">utcTzInfo</span><span class="Punctuation">,</span> <span class="Identifier">utcTzInfo</span><span class="Punctuation">)</span></pre>
  2340. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1197" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2341. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1197" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2342. </dd>
  2343. </div>
  2344. </div>
  2345. <div id="now-procs-all">
  2346. <div id="now">
  2347. <dt><pre><span class="Keyword">proc</span> <a href="#now"><span class="Identifier">now</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><a href="exceptions.html#TimeEffect"><span class="Identifier">TimeEffect</span></a><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2348. <dd>
  2349. Get the current time as a <tt class="docutils literal"><span class="pre"><span class="Identifier">DateTime</span></span></tt> in the local timezone. Shorthand for <tt class="docutils literal"><span class="pre"><span class="Identifier">getTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">local</span></span></tt>.<div class="admonition admonition-warning"><span class="admonition-warning-text"><b>Warning:</b></span>
  2350. Unsuitable for benchmarking, use <tt class="docutils literal"><span class="pre"><span class="Identifier">monotimes</span><span class="Operator">.</span><span class="Identifier">getMonoTime</span></span></tt> or <tt class="docutils literal"><span class="pre"><span class="Identifier">cpuTime</span></span></tt> instead, depending on the use case.</div>
  2351. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1411" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2352. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1411" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2353. </dd>
  2354. </div>
  2355. </div>
  2356. <div id="parse-procs-all">
  2357. <div id="parse,string,string,Timezone,DateTimeLocale">
  2358. <dt><pre><span class="Keyword">proc</span> <a href="#parse%2Cstring%2Cstring%2CTimezone%2CDateTimeLocale"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">input</span><span class="Other">,</span> <span class="Identifier">f</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">;</span> <span class="Identifier">tz</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a> <span class="Other">=</span> <span class="Identifier">local</span><span class="Other">(</span><span class="Other">)</span><span class="Other">;</span>
  2359. <span class="Identifier">loc</span><span class="Other">:</span> <a href="times.html#DateTimeLocale"><span class="Identifier">DateTimeLocale</span></a> <span class="Other">=</span> <span class="Identifier">DefaultLocale</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.
  2360. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><a href="times.html#TimeParseError"><span class="Identifier">TimeParseError</span></a><span class="Other">,</span> <a href="times.html#TimeFormatParseError"><span class="Identifier">TimeFormatParseError</span></a><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span>
  2361. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2362. <dd>
  2363. <p>Shorthand for constructing a <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeFormat</span></span></tt> and using it to parse <tt class="docutils literal"><span class="pre"><span class="Identifier">input</span></span></tt> as a <tt class="docutils literal"><span class="pre"><span class="Identifier">DateTime</span></span></tt>.</p>
  2364. <p>See <a class="reference internal" href="#parsing-and-formatting-dates">Parsing and formatting dates</a> for documentation of the <tt class="docutils literal"><span class="pre"><span class="Identifier">f</span></span></tt> argument.</p>
  2365. <p><strong class="examples_text">Example:</strong></p>
  2366. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">dt</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2000</span><span class="Punctuation">,</span> <span class="Identifier">mJan</span><span class="Punctuation">,</span> <span class="DecNumber">01</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  2367. <span class="Identifier">doAssert</span> <span class="Identifier">dt</span> <span class="Operator">==</span> <span class="Identifier">parse</span><span class="Punctuation">(</span><span class="StringLit">&quot;2000-01-01&quot;</span><span class="Punctuation">,</span> <span class="StringLit">&quot;yyyy-MM-dd&quot;</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span></pre>
  2368. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2295" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2369. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2295" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2370. </dd>
  2371. </div>
  2372. <div id="parse,string,static[string],Timezone,DateTimeLocale">
  2373. <dt><pre><span class="Keyword">proc</span> <a href="#parse%2Cstring%2Cstatic%5Bstring%5D%2CTimezone%2CDateTimeLocale"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">input</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">;</span> <span class="Identifier">f</span><span class="Other">:</span> <a href="system.html#static"><span class="Identifier">static</span></a><span class="Other">[</span><a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a> <span class="Other">=</span> <span class="Identifier">local</span><span class="Other">(</span><span class="Other">)</span><span class="Other">;</span>
  2374. <span class="Identifier">loc</span><span class="Other">:</span> <a href="times.html#DateTimeLocale"><span class="Identifier">DateTimeLocale</span></a> <span class="Other">=</span> <span class="Identifier">DefaultLocale</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.
  2375. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><a href="times.html#TimeParseError"><span class="Identifier">TimeParseError</span></a><span class="Other">]</span></span>.}</pre></dt>
  2376. <dd>
  2377. Overload that validates <tt class="docutils literal"><span class="pre"><span class="Identifier">f</span></span></tt> at compile time.
  2378. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2308" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2379. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2308" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2380. </dd>
  2381. </div>
  2382. <div id="parse,string,TimeFormat,Timezone,DateTimeLocale">
  2383. <dt><pre><span class="Keyword">proc</span> <a href="#parse%2Cstring%2CTimeFormat%2CTimezone%2CDateTimeLocale"><span class="Identifier">parse</span></a><span class="Other">(</span><span class="Identifier">input</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">;</span> <span class="Identifier">f</span><span class="Other">:</span> <a href="times.html#TimeFormat"><span class="Identifier">TimeFormat</span></a><span class="Other">;</span> <span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a> <span class="Other">=</span> <span class="Identifier">local</span><span class="Other">(</span><span class="Other">)</span><span class="Other">;</span>
  2384. <span class="Identifier">loc</span><span class="Other">:</span> <a href="times.html#DateTimeLocale"><span class="Identifier">DateTimeLocale</span></a> <span class="Other">=</span> <span class="Identifier">DefaultLocale</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.
  2385. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><a href="times.html#TimeParseError"><span class="Identifier">TimeParseError</span></a><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2386. <dd>
  2387. <p>Parses <tt class="docutils literal"><span class="pre"><span class="Identifier">input</span></span></tt> as a <tt class="docutils literal"><span class="pre"><span class="Identifier">DateTime</span></span></tt> using the format specified by <tt class="docutils literal"><span class="pre"><span class="Identifier">f</span></span></tt>. If no UTC offset was parsed, then <tt class="docutils literal"><span class="pre"><span class="Identifier">input</span></span></tt> is assumed to be specified in the <tt class="docutils literal"><span class="pre"><span class="Identifier">zone</span></span></tt> timezone. If a UTC offset was parsed, the result will be converted to the <tt class="docutils literal"><span class="pre"><span class="Identifier">zone</span></span></tt> timezone.</p>
  2388. <p>Month and day names from the passed in <tt class="docutils literal"><span class="pre"><span class="Identifier">loc</span></span></tt> are used.</p>
  2389. <p><strong class="examples_text">Example:</strong></p>
  2390. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">f</span> <span class="Operator">=</span> <span class="Identifier">initTimeFormat</span><span class="Punctuation">(</span><span class="StringLit">&quot;yyyy-MM-dd&quot;</span><span class="Punctuation">)</span>
  2391. <span class="Keyword">let</span> <span class="Identifier">dt</span> <span class="Operator">=</span> <span class="Identifier">dateTime</span><span class="Punctuation">(</span><span class="DecNumber">2000</span><span class="Punctuation">,</span> <span class="Identifier">mJan</span><span class="Punctuation">,</span> <span class="DecNumber">01</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="DecNumber">00</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  2392. <span class="Identifier">doAssert</span> <span class="Identifier">dt</span> <span class="Operator">==</span> <span class="StringLit">&quot;2000-01-01&quot;</span><span class="Operator">.</span><span class="Identifier">parse</span><span class="Punctuation">(</span><span class="Identifier">f</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span></pre>
  2393. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2246" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2394. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2246" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2395. </dd>
  2396. </div>
  2397. </div>
  2398. <div id="parseTime-procs-all">
  2399. <div id="parseTime,string,string,Timezone">
  2400. <dt><pre><span class="Keyword">proc</span> <a href="#parseTime%2Cstring%2Cstring%2CTimezone"><span class="Identifier">parseTime</span></a><span class="Other">(</span><span class="Identifier">input</span><span class="Other">,</span> <span class="Identifier">f</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">;</span> <span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a> {.
  2401. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><a href="times.html#TimeParseError"><span class="Identifier">TimeParseError</span></a><span class="Other">,</span> <a href="times.html#TimeFormatParseError"><span class="Identifier">TimeFormatParseError</span></a><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span>
  2402. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2403. <dd>
  2404. <p>Shorthand for constructing a <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeFormat</span></span></tt> and using it to parse <tt class="docutils literal"><span class="pre"><span class="Identifier">input</span></span></tt> as a <tt class="docutils literal"><span class="pre"><span class="Identifier">DateTime</span></span></tt>, then converting it a <tt class="docutils literal"><span class="pre"><span class="Identifier">Time</span></span></tt>.</p>
  2405. <p>See <a class="reference internal" href="#parsing-and-formatting-dates">Parsing and formatting dates</a> for documentation of the <tt class="docutils literal"><span class="pre"><span class="Identifier">format</span></span></tt> argument.</p>
  2406. <p><strong class="examples_text">Example:</strong></p>
  2407. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">tStr</span> <span class="Operator">=</span> <span class="StringLit">&quot;1970-01-01T00:00:00+00:00&quot;</span>
  2408. <span class="Identifier">doAssert</span> <span class="Identifier">parseTime</span><span class="Punctuation">(</span><span class="Identifier">tStr</span><span class="Punctuation">,</span> <span class="StringLit">&quot;yyyy-MM-dd'T'HH:mm:sszzz&quot;</span><span class="Punctuation">,</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="Identifier">fromUnix</span><span class="Punctuation">(</span><span class="DecNumber">0</span><span class="Punctuation">)</span></pre>
  2409. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2314" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2410. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2314" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2411. </dd>
  2412. </div>
  2413. <div id="parseTime,string,static[string],Timezone">
  2414. <dt><pre><span class="Keyword">proc</span> <a href="#parseTime%2Cstring%2Cstatic%5Bstring%5D%2CTimezone"><span class="Identifier">parseTime</span></a><span class="Other">(</span><span class="Identifier">input</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">;</span> <span class="Identifier">f</span><span class="Other">:</span> <a href="system.html#static"><span class="Identifier">static</span></a><span class="Other">[</span><a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a> {.
  2415. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><a href="times.html#TimeParseError"><span class="Identifier">TimeParseError</span></a><span class="Other">]</span></span>.}</pre></dt>
  2416. <dd>
  2417. Overload that validates <tt class="docutils literal"><span class="pre"><span class="Identifier">format</span></span></tt> at compile time.
  2418. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2325" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2419. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2325" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2420. </dd>
  2421. </div>
  2422. </div>
  2423. <div id="second-procs-all">
  2424. <div id="second,DateTime">
  2425. <dt><pre><span class="Keyword">proc</span> <a href="#second%2CDateTime"><span class="Identifier">second</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#SecondRange"><span class="Identifier">SecondRange</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  2426. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2427. <dd>
  2428. The number of seconds after the minute, in the range 0 to 59.
  2429. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1061" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2430. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1061" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2431. </dd>
  2432. </div>
  2433. </div>
  2434. <div id="second=-procs-all">
  2435. <div id="second=,DateTime,SecondRange">
  2436. <dt><pre><span class="Keyword">proc</span> <a href="#second%3D%2CDateTime%2CSecondRange"><span class="Identifier">second=</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="times.html#SecondRange"><span class="Identifier">SecondRange</span></a><span class="Other">)</span> {.
  2437. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;Deprecated since v1.3.1&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2438. <dd>
  2439. <div class="deprecation-message">
  2440. <b>Deprecated:</b> Deprecated since v1.3.1
  2441. </div>
  2442. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2866" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2443. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2866" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2444. </dd>
  2445. </div>
  2446. </div>
  2447. <div id="seconds-procs-all">
  2448. <div id="seconds,int">
  2449. <dt><pre><span class="Keyword">proc</span> <a href="#seconds%2Cint"><span class="Identifier">seconds</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2450. <dd>
  2451. <p>TimeInterval of <tt class="docutils literal"><span class="pre"><span class="Identifier">s</span></span></tt> seconds.</p>
  2452. <p><tt class="docutils literal"><span class="pre"><span class="Identifier">echo</span> <span class="Identifier">getTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">+</span> <span class="FloatNumber">5.</span><span class="Identifier">seconds</span></span></tt></p>
  2453. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2598" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2454. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2598" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2455. </dd>
  2456. </div>
  2457. </div>
  2458. <div id="timezone-procs-all">
  2459. <div id="timezone,DateTime">
  2460. <dt><pre><span class="Keyword">proc</span> <a href="#timezone%2CDateTime"><span class="Identifier">timezone</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  2461. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2462. <dd>
  2463. The timezone represented as an implementation of <tt class="docutils literal"><span class="pre"><span class="Identifier">Timezone</span></span></tt>.
  2464. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1117" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2465. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1117" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2466. </dd>
  2467. </div>
  2468. </div>
  2469. <div id="timezone=-procs-all">
  2470. <div id="timezone=,DateTime,Timezone">
  2471. <dt><pre><span class="Keyword">proc</span> <a href="#timezone%3D%2CDateTime%2CTimezone"><span class="Identifier">timezone=</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a><span class="Other">)</span> {.
  2472. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;Deprecated since v1.3.1&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2473. <dd>
  2474. <div class="deprecation-message">
  2475. <b>Deprecated:</b> Deprecated since v1.3.1
  2476. </div>
  2477. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2893" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2478. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2893" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2479. </dd>
  2480. </div>
  2481. </div>
  2482. <div id="toParts-procs-all">
  2483. <div id="toParts,Duration">
  2484. <dt><pre><span class="Keyword">proc</span> <a href="#toParts%2CDuration"><span class="Identifier">toParts</span></a><span class="Other">(</span><span class="Identifier">dur</span><span class="Other">:</span> <a href="times.html#Duration"><span class="Identifier">Duration</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DurationParts"><span class="Identifier">DurationParts</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2485. <dd>
  2486. <p>Converts a duration into an array consisting of fixed time units.</p>
  2487. <p>Each value in the array gives information about a specific unit of time, for example <tt class="docutils literal"><span class="pre"><span class="Identifier">result</span><span class="Punctuation">[</span><span class="Identifier">Days</span><span class="Punctuation">]</span></span></tt> gives a count of days.</p>
  2488. <p>This procedure is useful for converting <tt class="docutils literal"><span class="pre"><span class="Identifier">Duration</span></span></tt> values to strings.</p>
  2489. <p><strong class="examples_text">Example:</strong></p>
  2490. <pre class="listing"><span class="Keyword">var</span> <span class="Identifier">dp</span> <span class="Operator">=</span> <span class="Identifier">toParts</span><span class="Punctuation">(</span><span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">weeks</span> <span class="Operator">=</span> <span class="DecNumber">2</span><span class="Punctuation">,</span> <span class="Identifier">days</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  2491. <span class="Identifier">doAssert</span> <span class="Identifier">dp</span><span class="Punctuation">[</span><span class="Identifier">Days</span><span class="Punctuation">]</span> <span class="Operator">==</span> <span class="DecNumber">1</span>
  2492. <span class="Identifier">doAssert</span> <span class="Identifier">dp</span><span class="Punctuation">[</span><span class="Identifier">Weeks</span><span class="Punctuation">]</span> <span class="Operator">==</span> <span class="DecNumber">2</span>
  2493. <span class="Identifier">doAssert</span> <span class="Identifier">dp</span><span class="Punctuation">[</span><span class="Identifier">Minutes</span><span class="Punctuation">]</span> <span class="Operator">==</span> <span class="DecNumber">0</span>
  2494. <span class="Identifier">dp</span> <span class="Operator">=</span> <span class="Identifier">toParts</span><span class="Punctuation">(</span><span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">days</span> <span class="Operator">=</span> <span class="Operator">-</span><span class="DecNumber">1</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  2495. <span class="Identifier">doAssert</span> <span class="Identifier">dp</span><span class="Punctuation">[</span><span class="Identifier">Days</span><span class="Punctuation">]</span> <span class="Operator">==</span> <span class="Operator">-</span><span class="DecNumber">1</span></pre>
  2496. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L762" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2497. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L762" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2498. </dd>
  2499. </div>
  2500. <div id="toParts,TimeInterval">
  2501. <dt><pre><span class="Keyword">proc</span> <a href="#toParts%2CTimeInterval"><span class="Identifier">toParts</span></a><span class="Other">(</span><span class="Identifier">ti</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeIntervalParts"><span class="Identifier">TimeIntervalParts</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  2502. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2503. <dd>
  2504. <p>Converts a <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt> into an array consisting of its time units, starting with nanoseconds and ending with years.</p>
  2505. <p>This procedure is useful for converting <tt class="docutils literal"><span class="pre"><span class="Identifier">TimeInterval</span></span></tt> values to strings. E.g. then you need to implement custom interval printing</p>
  2506. <p><strong class="examples_text">Example:</strong></p>
  2507. <pre class="listing"><span class="Keyword">var</span> <span class="Identifier">tp</span> <span class="Operator">=</span> <span class="Identifier">toParts</span><span class="Punctuation">(</span><span class="Identifier">initTimeInterval</span><span class="Punctuation">(</span><span class="Identifier">years</span> <span class="Operator">=</span> <span class="DecNumber">1</span><span class="Punctuation">,</span> <span class="Identifier">nanoseconds</span> <span class="Operator">=</span> <span class="DecNumber">123</span><span class="Punctuation">)</span><span class="Punctuation">)</span>
  2508. <span class="Identifier">doAssert</span> <span class="Identifier">tp</span><span class="Punctuation">[</span><span class="Identifier">Years</span><span class="Punctuation">]</span> <span class="Operator">==</span> <span class="DecNumber">1</span>
  2509. <span class="Identifier">doAssert</span> <span class="Identifier">tp</span><span class="Punctuation">[</span><span class="Identifier">Nanoseconds</span><span class="Punctuation">]</span> <span class="Operator">==</span> <span class="DecNumber">123</span></pre>
  2510. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2555" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2511. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2555" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2512. </dd>
  2513. </div>
  2514. </div>
  2515. <div id="toTime-procs-all">
  2516. <div id="toTime,DateTime">
  2517. <dt><pre><span class="Keyword">proc</span> <a href="#toTime%2CDateTime"><span class="Identifier">toTime</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2518. <dd>
  2519. Converts a <tt class="docutils literal"><span class="pre"><span class="Identifier">DateTime</span></span></tt> to a <tt class="docutils literal"><span class="pre"><span class="Identifier">Time</span></span></tt> representing the same point in time.
  2520. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1157" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2521. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1157" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2522. </dd>
  2523. </div>
  2524. </div>
  2525. <div id="toUnix-procs-all">
  2526. <div id="toUnix,Time">
  2527. <dt><pre><span class="Keyword">proc</span> <a href="#toUnix%2CTime"><span class="Identifier">toUnix</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> </span><span class="Identifier">noSideEffect</span><span class="Other">,</span>
  2528. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2529. <dd>
  2530. Convert <tt class="docutils literal"><span class="pre"><span class="Identifier">t</span></span></tt> to a unix timestamp (seconds since <tt class="docutils literal"><span class="pre"><span class="DecNumber">1970</span><span class="Operator">-</span><span class="DecNumber">01</span><span class="Operator">-</span><span class="DecNumber">01</span><span class="Identifier">T00</span><span class="Punctuation">:</span><span class="DecNumber">00</span><span class="Punctuation">:</span><span class="DecNumber">00</span><span class="Identifier">Z</span></span></tt>). See also <tt class="docutils literal"><span class="pre"><span class="Identifier">toUnixFloat</span></span></tt> for subsecond resolution.
  2531. <p><strong class="examples_text">Example:</strong></p>
  2532. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">fromUnix</span><span class="Punctuation">(</span><span class="DecNumber">0</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">toUnix</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">==</span> <span class="DecNumber">0</span></pre>
  2533. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L932" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2534. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L932" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2535. </dd>
  2536. </div>
  2537. </div>
  2538. <div id="toUnixFloat-procs-all">
  2539. <div id="toUnixFloat,Time">
  2540. <dt><pre><span class="Keyword">proc</span> <a href="#toUnixFloat%2CTime"><span class="Identifier">toUnixFloat</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#float"><span class="Identifier">float</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2541. <dd>
  2542. Same as <tt class="docutils literal"><span class="pre"><span class="Identifier">toUnix</span></span></tt> but using subsecond resolution.
  2543. <p><strong class="examples_text">Example:</strong></p>
  2544. <pre class="listing"><span class="Keyword">let</span> <span class="Identifier">t</span> <span class="Operator">=</span> <span class="Identifier">getTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span>
  2545. <span class="Comment"># `&lt;` because of rounding errors</span>
  2546. <span class="Identifier">doAssert</span> <span class="Identifier">abs</span><span class="Punctuation">(</span><span class="Identifier">t</span><span class="Operator">.</span><span class="Identifier">toUnixFloat</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">fromUnixFloat</span> <span class="Operator">-</span> <span class="Identifier">t</span><span class="Punctuation">)</span> <span class="Operator">&lt;</span> <span class="Identifier">initDuration</span><span class="Punctuation">(</span><span class="Identifier">nanoseconds</span> <span class="Operator">=</span> <span class="DecNumber">1000</span><span class="Punctuation">)</span></pre>
  2547. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L949" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2548. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L949" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2549. </dd>
  2550. </div>
  2551. </div>
  2552. <div id="toWinTime-procs-all">
  2553. <div id="toWinTime,Time">
  2554. <dt><pre><span class="Keyword">proc</span> <a href="#toWinTime%2CTime"><span class="Identifier">toWinTime</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int64"><span class="Identifier">int64</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2555. <dd>
  2556. Convert <tt class="docutils literal"><span class="pre"><span class="Identifier">t</span></span></tt> to a Windows file time (100-nanosecond intervals since <tt class="docutils literal"><span class="pre"><span class="DecNumber">1601</span><span class="Operator">-</span><span class="DecNumber">01</span><span class="Operator">-</span><span class="DecNumber">01</span><span class="Identifier">T00</span><span class="Punctuation">:</span><span class="DecNumber">00</span><span class="Punctuation">:</span><span class="DecNumber">00</span><span class="Identifier">Z</span></span></tt>).
  2557. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L970" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2558. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L970" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2559. </dd>
  2560. </div>
  2561. </div>
  2562. <div id="utc-procs-all">
  2563. <div id="utc">
  2564. <dt><pre><span class="Keyword">proc</span> <a href="#utc"><span class="Identifier">utc</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2565. <dd>
  2566. Get the <tt class="docutils literal"><span class="pre"><span class="Identifier">Timezone</span></span></tt> implementation for the UTC timezone.
  2567. <p><strong class="examples_text">Example:</strong></p>
  2568. <pre class="listing"><span class="Identifier">doAssert</span> <span class="Identifier">now</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">utc</span><span class="Operator">.</span><span class="Identifier">timezone</span> <span class="Operator">==</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span>
  2569. <span class="Identifier">doAssert</span> <span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Operator">.</span><span class="Identifier">name</span> <span class="Operator">==</span> <span class="StringLit">&quot;Etc/UTC&quot;</span></pre>
  2570. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1376" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2571. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1376" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2572. </dd>
  2573. </div>
  2574. <div id="utc,DateTime">
  2575. <dt><pre><span class="Keyword">proc</span> <a href="#utc%2CDateTime"><span class="Identifier">utc</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2576. <dd>
  2577. Shorthand for <tt class="docutils literal"><span class="pre"><span class="Identifier">dt</span><span class="Operator">.</span><span class="Identifier">inZone</span><span class="Punctuation">(</span><span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span></span></tt>.
  2578. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1395" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2579. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1395" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2580. </dd>
  2581. </div>
  2582. <div id="utc,Time">
  2583. <dt><pre><span class="Keyword">proc</span> <a href="#utc%2CTime"><span class="Identifier">utc</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2584. <dd>
  2585. Shorthand for <tt class="docutils literal"><span class="pre"><span class="Identifier">t</span><span class="Operator">.</span><span class="Identifier">inZone</span><span class="Punctuation">(</span><span class="Identifier">utc</span><span class="Punctuation">(</span><span class="Punctuation">)</span><span class="Punctuation">)</span></span></tt>.
  2586. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1403" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2587. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1403" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2588. </dd>
  2589. </div>
  2590. </div>
  2591. <div id="utcOffset-procs-all">
  2592. <div id="utcOffset,DateTime">
  2593. <dt><pre><span class="Keyword">proc</span> <a href="#utcOffset%2CDateTime"><span class="Identifier">utcOffset</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2594. <dd>
  2595. The offset in seconds west of UTC, including any offset due to DST. Note that the sign of this number is the opposite of the one in a formatted offset string like <tt class="docutils literal"><span class="pre"><span class="Operator">+</span><span class="DecNumber">01</span><span class="Punctuation">:</span><span class="DecNumber">00</span></span></tt> (which would be equivalent to the UTC offset <tt class="docutils literal"><span class="pre"><span class="Operator">-</span><span class="DecNumber">3600</span></span></tt>).
  2596. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1123" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2597. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1123" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2598. </dd>
  2599. </div>
  2600. </div>
  2601. <div id="utcOffset=-procs-all">
  2602. <div id="utcOffset=,DateTime,int">
  2603. <dt><pre><span class="Keyword">proc</span> <a href="#utcOffset%3D%2CDateTime%2Cint"><span class="Identifier">utcOffset=</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span> {.
  2604. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;Deprecated since v1.3.1&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2605. <dd>
  2606. <div class="deprecation-message">
  2607. <b>Deprecated:</b> Deprecated since v1.3.1
  2608. </div>
  2609. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2896" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2610. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2896" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2611. </dd>
  2612. </div>
  2613. </div>
  2614. <div id="weekday-procs-all">
  2615. <div id="weekday,DateTime">
  2616. <dt><pre><span class="Keyword">proc</span> <a href="#weekday%2CDateTime"><span class="Identifier">weekday</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#WeekDay"><span class="Identifier">WeekDay</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2617. <dd>
  2618. The day of the week as an enum, the ordinal value is in the range 0 (monday) to 6 (sunday).
  2619. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1099" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2620. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1099" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2621. </dd>
  2622. </div>
  2623. </div>
  2624. <div id="weekday=-procs-all">
  2625. <div id="weekday=,DateTime,WeekDay">
  2626. <dt><pre><span class="Keyword">proc</span> <a href="#weekday%3D%2CDateTime%2CWeekDay"><span class="Identifier">weekday=</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="times.html#WeekDay"><span class="Identifier">WeekDay</span></a><span class="Other">)</span> {.
  2627. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;Deprecated since v1.3.1&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2628. <dd>
  2629. <div class="deprecation-message">
  2630. <b>Deprecated:</b> Deprecated since v1.3.1
  2631. </div>
  2632. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2884" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2633. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2884" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2634. </dd>
  2635. </div>
  2636. </div>
  2637. <div id="weeks-procs-all">
  2638. <div id="weeks,int">
  2639. <dt><pre><span class="Keyword">proc</span> <a href="#weeks%2Cint"><span class="Identifier">weeks</span></a><span class="Other">(</span><span class="Identifier">w</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2640. <dd>
  2641. <p>TimeInterval of <tt class="docutils literal"><span class="pre"><span class="Identifier">w</span></span></tt> weeks.</p>
  2642. <p><tt class="docutils literal"><span class="pre"><span class="Identifier">echo</span> <span class="Identifier">getTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">+</span> <span class="FloatNumber">2.</span><span class="Identifier">weeks</span></span></tt></p>
  2643. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2622" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2644. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2622" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2645. </dd>
  2646. </div>
  2647. </div>
  2648. <div id="year-procs-all">
  2649. <div id="year,DateTime">
  2650. <dt><pre><span class="Keyword">proc</span> <a href="#year%2CDateTime"><span class="Identifier">year</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2651. <dd>
  2652. The year, using astronomical year numbering (meaning that before year 1 is year 0, then year -1 and so on).
  2653. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1092" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2654. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1092" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2655. </dd>
  2656. </div>
  2657. </div>
  2658. <div id="year=-procs-all">
  2659. <div id="year=,DateTime,int">
  2660. <dt><pre><span class="Keyword">proc</span> <a href="#year%3D%2CDateTime%2Cint"><span class="Identifier">year=</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span> {.
  2661. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;Deprecated since v1.3.1&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2662. <dd>
  2663. <div class="deprecation-message">
  2664. <b>Deprecated:</b> Deprecated since v1.3.1
  2665. </div>
  2666. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2881" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2667. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2881" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2668. </dd>
  2669. </div>
  2670. </div>
  2671. <div id="yearday-procs-all">
  2672. <div id="yearday,DateTime">
  2673. <dt><pre><span class="Keyword">proc</span> <a href="#yearday%2CDateTime"><span class="Identifier">yearday</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#YeardayRange"><span class="Identifier">YeardayRange</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  2674. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2675. <dd>
  2676. The number of days since January 1, in the range 0 to 365.
  2677. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1105" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2678. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1105" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2679. </dd>
  2680. </div>
  2681. </div>
  2682. <div id="yearday=-procs-all">
  2683. <div id="yearday=,DateTime,YeardayRange">
  2684. <dt><pre><span class="Keyword">proc</span> <a href="#yearday%3D%2CDateTime%2CYeardayRange"><span class="Identifier">yearday=</span></a><span class="Other">(</span><span class="Identifier">dt</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="times.html#DateTime"><span class="Identifier">DateTime</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="times.html#YeardayRange"><span class="Identifier">YeardayRange</span></a><span class="Other">)</span> {.
  2685. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">deprecated</span><span class="Other">:</span> <span class="StringLit">&quot;Deprecated since v1.3.1&quot;</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2686. <dd>
  2687. <div class="deprecation-message">
  2688. <b>Deprecated:</b> Deprecated since v1.3.1
  2689. </div>
  2690. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2887" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2691. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2887" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2692. </dd>
  2693. </div>
  2694. </div>
  2695. <div id="years-procs-all">
  2696. <div id="years,int">
  2697. <dt><pre><span class="Keyword">proc</span> <a href="#years%2Cint"><span class="Identifier">years</span></a><span class="Other">(</span><span class="Identifier">y</span><span class="Other">:</span> <a href="system.html#int"><span class="Identifier">int</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#TimeInterval"><span class="Identifier">TimeInterval</span></a> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2698. <dd>
  2699. <p>TimeInterval of <tt class="docutils literal"><span class="pre"><span class="Identifier">y</span></span></tt> years.</p>
  2700. <p><tt class="docutils literal"><span class="pre"><span class="Identifier">echo</span> <span class="Identifier">getTime</span><span class="Punctuation">(</span><span class="Punctuation">)</span> <span class="Operator">+</span> <span class="FloatNumber">2.</span><span class="Identifier">years</span></span></tt></p>
  2701. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L2634" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2702. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L2634" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2703. </dd>
  2704. </div>
  2705. </div>
  2706. <div id="zonedTimeFromAdjTime-procs-all">
  2707. <div id="zonedTimeFromAdjTime,Timezone,Time">
  2708. <dt><pre><span class="Keyword">proc</span> <a href="#zonedTimeFromAdjTime%2CTimezone%2CTime"><span class="Identifier">zonedTimeFromAdjTime</span></a><span class="Other">(</span><span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a><span class="Other">;</span> <span class="Identifier">adjTime</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#ZonedTime"><span class="Identifier">ZonedTime</span></a> {.
  2709. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2710. <dd>
  2711. <p>Returns the <tt class="docutils literal"><span class="pre"><span class="Identifier">ZonedTime</span></span></tt> for some local time.</p>
  2712. <p>Note that the <tt class="docutils literal"><span class="pre"><span class="Identifier">Time</span></span></tt> argument does not represent a point in time, it represent a local time! E.g if <tt class="docutils literal"><span class="pre"><span class="Identifier">adjTime</span></span></tt> is <tt class="docutils literal"><span class="pre"><span class="Identifier">fromUnix</span><span class="Punctuation">(</span><span class="DecNumber">0</span><span class="Punctuation">)</span></span></tt>, it should be interpreted as 1970-01-01T00:00:00 in the <tt class="docutils literal"><span class="pre"><span class="Identifier">zone</span></span></tt> timezone, not in UTC.</p>
  2713. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1241" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2714. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1241" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2715. </dd>
  2716. </div>
  2717. </div>
  2718. <div id="zonedTimeFromTime-procs-all">
  2719. <div id="zonedTimeFromTime,Timezone,Time">
  2720. <dt><pre><span class="Keyword">proc</span> <a href="#zonedTimeFromTime%2CTimezone%2CTime"><span class="Identifier">zonedTimeFromTime</span></a><span class="Other">(</span><span class="Identifier">zone</span><span class="Other">:</span> <a href="times.html#Timezone"><span class="Identifier">Timezone</span></a><span class="Other">;</span> <span class="Identifier">time</span><span class="Other">:</span> <a href="times.html#Time"><span class="Identifier">Time</span></a><span class="Other">)</span><span class="Other">:</span> <a href="times.html#ZonedTime"><span class="Identifier">ZonedTime</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  2721. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  2722. <dd>
  2723. Returns the <tt class="docutils literal"><span class="pre"><span class="Identifier">ZonedTime</span></span></tt> for some point in time.
  2724. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/times.nim#L1237" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  2725. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/times.nim#L1237" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  2726. </dd>
  2727. </div>
  2728. </div>
  2729. </dl>
  2730. </div>
  2731. </div>
  2732. </div>
  2733. <div class="twelve-columns footer">
  2734. <span class="nim-sprite"></span>
  2735. <br>
  2736. <small style="color: var(--hint);">Made with Nim. Generated: 2025-01-09 12:00:09 UTC</small>
  2737. </div>
  2738. </div>
  2739. </div>
  2740. <script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
  2741. </body>
  2742. </html>