[{"data":1,"prerenderedAt":2661},["ShallowReactive",2],{"doc-\u002Fstandard-library\u002Fpython-datetime-module-overview":3},{"id":4,"title":5,"body":6,"description":2654,"extension":2655,"meta":2656,"navigation":80,"path":2657,"seo":2658,"stem":2659,"__hash__":2660},"content\u002Fstandard-library\u002Fpython-datetime-module-overview.md","Python datetime Module Overview",{"type":7,"value":8,"toc":2605},"minimark",[9,13,22,25,30,228,234,268,273,366,372,376,382,399,402,419,423,428,434,440,451,454,510,513,532,538,543,547,561,563,613,615,632,637,641,646,654,656,719,721,750,755,763,768,773,776,790,792,879,884,889,894,897,900,904,907,932,935,1115,1119,1124,1130,1173,1179,1222,1227,1234,1239,1322,1325,1351,1358,1365,1373,1454,1456,1484,1491,1498,1585,1589,1592,1598,1601,1654,1657,1674,1680,1686,1719,1725,1729,1737,1740,1751,1766,1777,1780,1796,1800,1803,1824,1827,1831,1836,1846,1849,1878,1888,1891,1924,1927,1959,1966,1969,2029,2039,2042,2112,2119,2122,2161,2167,2238,2245,2250,2258,2261,2303,2308,2312,2315,2339,2350,2357,2361,2365,2373,2377,2382,2386,2397,2429,2433,2438,2496,2500,2505,2575,2579,2598,2601],[10,11,5],"h1",{"id":12},"python-datetime-module-overview",[14,15,16,17,21],"p",{},"The ",[18,19,20],"code",{},"datetime"," module helps you work with dates, times, and time differences in Python.",[14,23,24],{},"It is part of the Python standard library, so you do not need to install anything extra. Beginners often use it to get the current date, create a specific date, format a date as text, or add a number of days to a date.",[26,27,29],"h2",{"id":28},"quick-example","Quick example",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-python shiki shiki-themes material-theme-lighter github-light github-dark","from datetime import datetime, date, time, timedelta\n\nnow = datetime.now()\ntoday = date.today()\nmeeting = time(14, 30)\none_week = timedelta(days=7)\n\nprint(now)\nprint(today)\nprint(meeting)\nprint(now + one_week)\n","python","",[18,38,39,75,82,104,121,146,170,175,188,199,211],{"__ignoreMap":36},[40,41,44,48,52,55,58,62,65,67,70,72],"span",{"class":42,"line":43},"line",1,[40,45,47],{"class":46},"sVHd0","from",[40,49,51],{"class":50},"su5hD"," datetime ",[40,53,54],{"class":46},"import",[40,56,57],{"class":50}," datetime",[40,59,61],{"class":60},"sP7_E",",",[40,63,64],{"class":50}," date",[40,66,61],{"class":60},[40,68,69],{"class":50}," time",[40,71,61],{"class":60},[40,73,74],{"class":50}," timedelta\n",[40,76,78],{"class":42,"line":77},2,[40,79,81],{"emptyLinePlaceholder":80},true,"\n",[40,83,85,88,92,94,97,101],{"class":42,"line":84},3,[40,86,87],{"class":50},"now ",[40,89,91],{"class":90},"smGrS","=",[40,93,57],{"class":50},[40,95,96],{"class":60},".",[40,98,100],{"class":99},"slqww","now",[40,102,103],{"class":60},"()\n",[40,105,107,110,112,114,116,119],{"class":42,"line":106},4,[40,108,109],{"class":50},"today ",[40,111,91],{"class":90},[40,113,64],{"class":50},[40,115,96],{"class":60},[40,117,118],{"class":99},"today",[40,120,103],{"class":60},[40,122,124,127,129,131,134,138,140,143],{"class":42,"line":123},5,[40,125,126],{"class":50},"meeting ",[40,128,91],{"class":90},[40,130,69],{"class":99},[40,132,133],{"class":60},"(",[40,135,137],{"class":136},"srdBf","14",[40,139,61],{"class":60},[40,141,142],{"class":136}," 30",[40,144,145],{"class":60},")\n",[40,147,149,152,154,157,159,163,165,168],{"class":42,"line":148},6,[40,150,151],{"class":50},"one_week ",[40,153,91],{"class":90},[40,155,156],{"class":99}," timedelta",[40,158,133],{"class":60},[40,160,162],{"class":161},"s99_P","days",[40,164,91],{"class":90},[40,166,167],{"class":136},"7",[40,169,145],{"class":60},[40,171,173],{"class":42,"line":172},7,[40,174,81],{"emptyLinePlaceholder":80},[40,176,178,182,184,186],{"class":42,"line":177},8,[40,179,181],{"class":180},"sptTA","print",[40,183,133],{"class":60},[40,185,100],{"class":99},[40,187,145],{"class":60},[40,189,191,193,195,197],{"class":42,"line":190},9,[40,192,181],{"class":180},[40,194,133],{"class":60},[40,196,118],{"class":99},[40,198,145],{"class":60},[40,200,202,204,206,209],{"class":42,"line":201},10,[40,203,181],{"class":180},[40,205,133],{"class":60},[40,207,208],{"class":99},"meeting",[40,210,145],{"class":60},[40,212,214,216,218,220,223,226],{"class":42,"line":213},11,[40,215,181],{"class":180},[40,217,133],{"class":60},[40,219,87],{"class":99},[40,221,222],{"class":90},"+",[40,224,225],{"class":99}," one_week",[40,227,145],{"class":60},[14,229,230],{},[231,232,233],"strong",{},"What this code does:",[235,236,237,244,250,256,262],"ul",{},[238,239,240,243],"li",{},[18,241,242],{},"datetime.now()"," gets the current date and time",[238,245,246,249],{},[18,247,248],{},"date.today()"," gets today's date",[238,251,252,255],{},[18,253,254],{},"time(14, 30)"," creates a time value for 2:30 PM",[238,257,258,261],{},[18,259,260],{},"timedelta(days=7)"," represents 7 days",[238,263,264,267],{},[18,265,266],{},"now + one_week"," gives the date and time one week from now",[14,269,270],{},[231,271,272],{},"Example output:",[31,274,276],{"className":33,"code":275,"language":35,"meta":36,"style":36},"2026-04-22 10:15:30.123456\n2026-04-22\n14:30:00\n2026-04-29 10:15:30.123456\n",[18,277,278,312,327,341],{"__ignoreMap":36},[40,279,280,283,286,289,293,295,298,301,304,307,309],{"class":42,"line":43},[40,281,282],{"class":136},"2026",[40,284,285],{"class":90},"-",[40,287,288],{"class":136},"0",[40,290,292],{"class":291},"sx12J","4",[40,294,285],{"class":90},[40,296,297],{"class":136},"22",[40,299,300],{"class":136}," 10",[40,302,303],{"class":60},":",[40,305,306],{"class":136},"15",[40,308,303],{"class":60},[40,310,311],{"class":136},"30.123456\n",[40,313,314,316,318,320,322,324],{"class":42,"line":77},[40,315,282],{"class":136},[40,317,285],{"class":90},[40,319,288],{"class":136},[40,321,292],{"class":291},[40,323,285],{"class":90},[40,325,326],{"class":136},"22\n",[40,328,329,331,333,336,338],{"class":42,"line":84},[40,330,137],{"class":136},[40,332,303],{"class":60},[40,334,335],{"class":136},"30",[40,337,303],{"class":60},[40,339,340],{"class":136},"00\n",[40,342,343,345,347,349,351,353,356,358,360,362,364],{"class":42,"line":106},[40,344,282],{"class":136},[40,346,285],{"class":90},[40,348,288],{"class":136},[40,350,292],{"class":291},[40,352,285],{"class":90},[40,354,355],{"class":136},"29",[40,357,300],{"class":136},[40,359,303],{"class":60},[40,361,306],{"class":136},[40,363,303],{"class":60},[40,365,311],{"class":136},[14,367,368,369,371],{},"Use this as a quick example of the most common ",[18,370,20],{}," module objects.",[26,373,375],{"id":374},"what-the-datetime-module-is-for","What the datetime module is for",[14,377,378,379,381],{},"You use the ",[18,380,20],{}," module when your program needs to work with:",[235,383,384,387,390,393,396],{},[238,385,386],{},"Dates",[238,388,389],{},"Times",[238,391,392],{},"Dates and times together",[238,394,395],{},"Time differences",[238,397,398],{},"Converting between date objects and strings",[14,400,401],{},"Common uses include:",[235,403,404,407,410,413,416],{},[238,405,406],{},"Getting the current date and time",[238,408,409],{},"Creating a birthday or deadline",[238,411,412],{},"Adding 7 days to a date",[238,414,415],{},"Showing a date in a readable format",[238,417,418],{},"Reading a date from user input",[26,420,422],{"id":421},"main-objects-in-the-datetime-module","Main objects in the datetime module",[14,424,16,425,427],{},[18,426,20],{}," module contains several useful classes.",[429,430,432],"h3",{"id":431},"date",[18,433,431],{},[14,435,436,437,439],{},"A ",[18,438,431],{}," stores:",[235,441,442,445,448],{},[238,443,444],{},"Year",[238,446,447],{},"Month",[238,449,450],{},"Day",[14,452,453],{},"Example:",[31,455,457],{"className":33,"code":456,"language":35,"meta":36,"style":36},"from datetime import date\n\nd = date(2026, 4, 22)\nprint(d)\n",[18,458,459,470,474,499],{"__ignoreMap":36},[40,460,461,463,465,467],{"class":42,"line":43},[40,462,47],{"class":46},[40,464,51],{"class":50},[40,466,54],{"class":46},[40,468,469],{"class":50}," date\n",[40,471,472],{"class":42,"line":77},[40,473,81],{"emptyLinePlaceholder":80},[40,475,476,479,481,483,485,487,489,492,494,497],{"class":42,"line":84},[40,477,478],{"class":50},"d ",[40,480,91],{"class":90},[40,482,64],{"class":99},[40,484,133],{"class":60},[40,486,282],{"class":136},[40,488,61],{"class":60},[40,490,491],{"class":136}," 4",[40,493,61],{"class":60},[40,495,496],{"class":136}," 22",[40,498,145],{"class":60},[40,500,501,503,505,508],{"class":42,"line":106},[40,502,181],{"class":180},[40,504,133],{"class":60},[40,506,507],{"class":99},"d",[40,509,145],{"class":60},[14,511,512],{},"Output:",[31,514,516],{"className":33,"code":515,"language":35,"meta":36,"style":36},"2026-04-22\n",[18,517,518],{"__ignoreMap":36},[40,519,520,522,524,526,528,530],{"class":42,"line":43},[40,521,282],{"class":136},[40,523,285],{"class":90},[40,525,288],{"class":136},[40,527,292],{"class":291},[40,529,285],{"class":90},[40,531,326],{"class":136},[14,533,534,535,537],{},"Use ",[18,536,431],{}," when you only care about the calendar date.",[429,539,541],{"id":540},"time",[18,542,540],{},[14,544,436,545,439],{},[18,546,540],{},[235,548,549,552,555,558],{},[238,550,551],{},"Hour",[238,553,554],{},"Minute",[238,556,557],{},"Second",[238,559,560],{},"Smaller units like microseconds if needed",[14,562,453],{},[31,564,566],{"className":33,"code":565,"language":35,"meta":36,"style":36},"from datetime import time\n\nt = time(14, 30)\nprint(t)\n",[18,567,568,579,583,602],{"__ignoreMap":36},[40,569,570,572,574,576],{"class":42,"line":43},[40,571,47],{"class":46},[40,573,51],{"class":50},[40,575,54],{"class":46},[40,577,578],{"class":50}," time\n",[40,580,581],{"class":42,"line":77},[40,582,81],{"emptyLinePlaceholder":80},[40,584,585,588,590,592,594,596,598,600],{"class":42,"line":84},[40,586,587],{"class":50},"t ",[40,589,91],{"class":90},[40,591,69],{"class":99},[40,593,133],{"class":60},[40,595,137],{"class":136},[40,597,61],{"class":60},[40,599,142],{"class":136},[40,601,145],{"class":60},[40,603,604,606,608,611],{"class":42,"line":106},[40,605,181],{"class":180},[40,607,133],{"class":60},[40,609,610],{"class":99},"t",[40,612,145],{"class":60},[14,614,512],{},[31,616,618],{"className":33,"code":617,"language":35,"meta":36,"style":36},"14:30:00\n",[18,619,620],{"__ignoreMap":36},[40,621,622,624,626,628,630],{"class":42,"line":43},[40,623,137],{"class":136},[40,625,303],{"class":60},[40,627,335],{"class":136},[40,629,303],{"class":60},[40,631,340],{"class":136},[14,633,534,634,636],{},[18,635,540],{}," when you only need a clock time.",[429,638,639],{"id":20},[18,640,20],{},[14,642,436,643,645],{},[18,644,20],{}," stores both:",[235,647,648,651],{},[238,649,650],{},"Date",[238,652,653],{},"Time",[14,655,453],{},[31,657,659],{"className":33,"code":658,"language":35,"meta":36,"style":36},"from datetime import datetime\n\ndt = datetime(2026, 4, 22, 14, 30)\nprint(dt)\n",[18,660,661,672,676,708],{"__ignoreMap":36},[40,662,663,665,667,669],{"class":42,"line":43},[40,664,47],{"class":46},[40,666,51],{"class":50},[40,668,54],{"class":46},[40,670,671],{"class":50}," datetime\n",[40,673,674],{"class":42,"line":77},[40,675,81],{"emptyLinePlaceholder":80},[40,677,678,681,683,685,687,689,691,693,695,697,699,702,704,706],{"class":42,"line":84},[40,679,680],{"class":50},"dt ",[40,682,91],{"class":90},[40,684,57],{"class":99},[40,686,133],{"class":60},[40,688,282],{"class":136},[40,690,61],{"class":60},[40,692,491],{"class":136},[40,694,61],{"class":60},[40,696,496],{"class":136},[40,698,61],{"class":60},[40,700,701],{"class":136}," 14",[40,703,61],{"class":60},[40,705,142],{"class":136},[40,707,145],{"class":60},[40,709,710,712,714,717],{"class":42,"line":106},[40,711,181],{"class":180},[40,713,133],{"class":60},[40,715,716],{"class":99},"dt",[40,718,145],{"class":60},[14,720,512],{},[31,722,724],{"className":33,"code":723,"language":35,"meta":36,"style":36},"2026-04-22 14:30:00\n",[18,725,726],{"__ignoreMap":36},[40,727,728,730,732,734,736,738,740,742,744,746,748],{"class":42,"line":43},[40,729,282],{"class":136},[40,731,285],{"class":90},[40,733,288],{"class":136},[40,735,292],{"class":291},[40,737,285],{"class":90},[40,739,297],{"class":136},[40,741,701],{"class":136},[40,743,303],{"class":60},[40,745,335],{"class":136},[40,747,303],{"class":60},[40,749,340],{"class":136},[14,751,534,752,754],{},[18,753,20],{}," when you need the full date and time together.",[14,756,757,758,96],{},"If you want the current date and time, see ",[759,760,762],"a",{"href":761},"\u002Fstandard-library\u002Fdatetime.now-explained","datetime.now() explained",[429,764,766],{"id":765},"timedelta",[18,767,765],{},[14,769,436,770,772],{},[18,771,765],{}," stores a length of time.",[14,774,775],{},"You can use it to add or subtract:",[235,777,778,781,784,787],{},[238,779,780],{},"Days",[238,782,783],{},"Hours",[238,785,786],{},"Minutes",[238,788,789],{},"Seconds",[14,791,453],{},[31,793,795],{"className":33,"code":794,"language":35,"meta":36,"style":36},"from datetime import datetime, timedelta\n\nnow = datetime.now()\nlater = now + timedelta(days=3)\n\nprint(now)\nprint(later)\n",[18,796,797,811,815,829,854,858,868],{"__ignoreMap":36},[40,798,799,801,803,805,807,809],{"class":42,"line":43},[40,800,47],{"class":46},[40,802,51],{"class":50},[40,804,54],{"class":46},[40,806,57],{"class":50},[40,808,61],{"class":60},[40,810,74],{"class":50},[40,812,813],{"class":42,"line":77},[40,814,81],{"emptyLinePlaceholder":80},[40,816,817,819,821,823,825,827],{"class":42,"line":84},[40,818,87],{"class":50},[40,820,91],{"class":90},[40,822,57],{"class":50},[40,824,96],{"class":60},[40,826,100],{"class":99},[40,828,103],{"class":60},[40,830,831,834,836,839,841,843,845,847,849,852],{"class":42,"line":106},[40,832,833],{"class":50},"later ",[40,835,91],{"class":90},[40,837,838],{"class":50}," now ",[40,840,222],{"class":90},[40,842,156],{"class":99},[40,844,133],{"class":60},[40,846,162],{"class":161},[40,848,91],{"class":90},[40,850,851],{"class":136},"3",[40,853,145],{"class":60},[40,855,856],{"class":42,"line":123},[40,857,81],{"emptyLinePlaceholder":80},[40,859,860,862,864,866],{"class":42,"line":148},[40,861,181],{"class":180},[40,863,133],{"class":60},[40,865,100],{"class":99},[40,867,145],{"class":60},[40,869,870,872,874,877],{"class":42,"line":172},[40,871,181],{"class":180},[40,873,133],{"class":60},[40,875,876],{"class":99},"later",[40,878,145],{"class":60},[14,880,534,881,883],{},[18,882,765],{}," when you want to move forward or backward in time.",[429,885,887],{"id":886},"timezone",[18,888,886],{},[14,890,436,891,893],{},[18,892,886],{}," object helps represent time zone information.",[14,895,896],{},"For beginners, it is enough to know that time zones exist and can matter when you work with users in different places.",[14,898,899],{},"This page does not go deep into time zone handling.",[26,901,903],{"id":902},"when-to-use-each-object","When to use each object",[14,905,906],{},"Here is a simple guide:",[235,908,909,914,919,924,929],{},[238,910,534,911,913],{},[18,912,431],{}," when you only need a calendar date",[238,915,534,916,918],{},[18,917,540],{}," when you only need a clock time",[238,920,534,921,923],{},[18,922,20],{}," when you need both date and time",[238,925,534,926,928],{},[18,927,765],{}," to add or subtract days, hours, or seconds",[238,930,931],{},"Leave deeper time zone handling for dedicated pages",[14,933,934],{},"Examples:",[31,936,938],{"className":33,"code":937,"language":35,"meta":36,"style":36},"from datetime import date, time, datetime, timedelta\n\nbirthday = date(2026, 9, 10)\nalarm_time = time(7, 0)\nappointment = datetime(2026, 9, 10, 15, 45)\nnext_week = appointment + timedelta(days=7)\n\nprint(birthday)\nprint(alarm_time)\nprint(appointment)\nprint(next_week)\n",[18,939,940,962,966,990,1010,1043,1067,1071,1082,1093,1104],{"__ignoreMap":36},[40,941,942,944,946,948,950,952,954,956,958,960],{"class":42,"line":43},[40,943,47],{"class":46},[40,945,51],{"class":50},[40,947,54],{"class":46},[40,949,64],{"class":50},[40,951,61],{"class":60},[40,953,69],{"class":50},[40,955,61],{"class":60},[40,957,57],{"class":50},[40,959,61],{"class":60},[40,961,74],{"class":50},[40,963,964],{"class":42,"line":77},[40,965,81],{"emptyLinePlaceholder":80},[40,967,968,971,973,975,977,979,981,984,986,988],{"class":42,"line":84},[40,969,970],{"class":50},"birthday ",[40,972,91],{"class":90},[40,974,64],{"class":99},[40,976,133],{"class":60},[40,978,282],{"class":136},[40,980,61],{"class":60},[40,982,983],{"class":136}," 9",[40,985,61],{"class":60},[40,987,300],{"class":136},[40,989,145],{"class":60},[40,991,992,995,997,999,1001,1003,1005,1008],{"class":42,"line":106},[40,993,994],{"class":50},"alarm_time ",[40,996,91],{"class":90},[40,998,69],{"class":99},[40,1000,133],{"class":60},[40,1002,167],{"class":136},[40,1004,61],{"class":60},[40,1006,1007],{"class":136}," 0",[40,1009,145],{"class":60},[40,1011,1012,1015,1017,1019,1021,1023,1025,1027,1029,1031,1033,1036,1038,1041],{"class":42,"line":123},[40,1013,1014],{"class":50},"appointment ",[40,1016,91],{"class":90},[40,1018,57],{"class":99},[40,1020,133],{"class":60},[40,1022,282],{"class":136},[40,1024,61],{"class":60},[40,1026,983],{"class":136},[40,1028,61],{"class":60},[40,1030,300],{"class":136},[40,1032,61],{"class":60},[40,1034,1035],{"class":136}," 15",[40,1037,61],{"class":60},[40,1039,1040],{"class":136}," 45",[40,1042,145],{"class":60},[40,1044,1045,1048,1050,1053,1055,1057,1059,1061,1063,1065],{"class":42,"line":148},[40,1046,1047],{"class":50},"next_week ",[40,1049,91],{"class":90},[40,1051,1052],{"class":50}," appointment ",[40,1054,222],{"class":90},[40,1056,156],{"class":99},[40,1058,133],{"class":60},[40,1060,162],{"class":161},[40,1062,91],{"class":90},[40,1064,167],{"class":136},[40,1066,145],{"class":60},[40,1068,1069],{"class":42,"line":172},[40,1070,81],{"emptyLinePlaceholder":80},[40,1072,1073,1075,1077,1080],{"class":42,"line":177},[40,1074,181],{"class":180},[40,1076,133],{"class":60},[40,1078,1079],{"class":99},"birthday",[40,1081,145],{"class":60},[40,1083,1084,1086,1088,1091],{"class":42,"line":190},[40,1085,181],{"class":180},[40,1087,133],{"class":60},[40,1089,1090],{"class":99},"alarm_time",[40,1092,145],{"class":60},[40,1094,1095,1097,1099,1102],{"class":42,"line":201},[40,1096,181],{"class":180},[40,1098,133],{"class":60},[40,1100,1101],{"class":99},"appointment",[40,1103,145],{"class":60},[40,1105,1106,1108,1110,1113],{"class":42,"line":213},[40,1107,181],{"class":180},[40,1109,133],{"class":60},[40,1111,1112],{"class":99},"next_week",[40,1114,145],{"class":60},[26,1116,1118],{"id":1117},"common-beginner-tasks","Common beginner tasks",[14,1120,1121,1122,96],{},"These are some of the most common things beginners do with ",[18,1123,20],{},[429,1125,1127,1128],{"id":1126},"get-the-current-date-with-datetoday","Get the current date with ",[18,1129,248],{},[31,1131,1133],{"className":33,"code":1132,"language":35,"meta":36,"style":36},"from datetime import date\n\ntoday = date.today()\nprint(today)\n",[18,1134,1135,1145,1149,1163],{"__ignoreMap":36},[40,1136,1137,1139,1141,1143],{"class":42,"line":43},[40,1138,47],{"class":46},[40,1140,51],{"class":50},[40,1142,54],{"class":46},[40,1144,469],{"class":50},[40,1146,1147],{"class":42,"line":77},[40,1148,81],{"emptyLinePlaceholder":80},[40,1150,1151,1153,1155,1157,1159,1161],{"class":42,"line":84},[40,1152,109],{"class":50},[40,1154,91],{"class":90},[40,1156,64],{"class":50},[40,1158,96],{"class":60},[40,1160,118],{"class":99},[40,1162,103],{"class":60},[40,1164,1165,1167,1169,1171],{"class":42,"line":106},[40,1166,181],{"class":180},[40,1168,133],{"class":60},[40,1170,118],{"class":99},[40,1172,145],{"class":60},[429,1174,1176,1177],{"id":1175},"get-the-current-date-and-time-with-datetimenow","Get the current date and time with ",[18,1178,242],{},[31,1180,1182],{"className":33,"code":1181,"language":35,"meta":36,"style":36},"from datetime import datetime\n\nnow = datetime.now()\nprint(now)\n",[18,1183,1184,1194,1198,1212],{"__ignoreMap":36},[40,1185,1186,1188,1190,1192],{"class":42,"line":43},[40,1187,47],{"class":46},[40,1189,51],{"class":50},[40,1191,54],{"class":46},[40,1193,671],{"class":50},[40,1195,1196],{"class":42,"line":77},[40,1197,81],{"emptyLinePlaceholder":80},[40,1199,1200,1202,1204,1206,1208,1210],{"class":42,"line":84},[40,1201,87],{"class":50},[40,1203,91],{"class":90},[40,1205,57],{"class":50},[40,1207,96],{"class":60},[40,1209,100],{"class":99},[40,1211,103],{"class":60},[40,1213,1214,1216,1218,1220],{"class":42,"line":106},[40,1215,181],{"class":180},[40,1217,133],{"class":60},[40,1219,100],{"class":99},[40,1221,145],{"class":60},[14,1223,1224,1225,96],{},"For a focused explanation, see ",[759,1226,762],{"href":761},[429,1228,1230,1231],{"id":1229},"format-a-datetime-as-text-with-strftime","Format a datetime as text with ",[18,1232,1233],{},"strftime()",[14,1235,1236,1238],{},[18,1237,1233],{}," turns a date or datetime object into a string.",[31,1240,1242],{"className":33,"code":1241,"language":35,"meta":36,"style":36},"from datetime import datetime\n\nnow = datetime.now()\nformatted = now.strftime(\"%Y-%m-%d %H:%M\")\n\nprint(formatted)\n",[18,1243,1244,1254,1258,1272,1307,1311],{"__ignoreMap":36},[40,1245,1246,1248,1250,1252],{"class":42,"line":43},[40,1247,47],{"class":46},[40,1249,51],{"class":50},[40,1251,54],{"class":46},[40,1253,671],{"class":50},[40,1255,1256],{"class":42,"line":77},[40,1257,81],{"emptyLinePlaceholder":80},[40,1259,1260,1262,1264,1266,1268,1270],{"class":42,"line":84},[40,1261,87],{"class":50},[40,1263,91],{"class":90},[40,1265,57],{"class":50},[40,1267,96],{"class":60},[40,1269,100],{"class":99},[40,1271,103],{"class":60},[40,1273,1274,1277,1279,1282,1284,1287,1289,1293,1297,1300,1303,1305],{"class":42,"line":106},[40,1275,1276],{"class":50},"formatted ",[40,1278,91],{"class":90},[40,1280,1281],{"class":50}," now",[40,1283,96],{"class":60},[40,1285,1286],{"class":99},"strftime",[40,1288,133],{"class":60},[40,1290,1292],{"class":1291},"sjJ54","\"",[40,1294,1296],{"class":1295},"s_sjI","%Y-%m-",[40,1298,1299],{"class":136},"%d",[40,1301,1302],{"class":1295}," %H:%M",[40,1304,1292],{"class":1291},[40,1306,145],{"class":60},[40,1308,1309],{"class":42,"line":123},[40,1310,81],{"emptyLinePlaceholder":80},[40,1312,1313,1315,1317,1320],{"class":42,"line":148},[40,1314,181],{"class":180},[40,1316,133],{"class":60},[40,1318,1319],{"class":99},"formatted",[40,1321,145],{"class":60},[14,1323,1324],{},"Possible output:",[31,1326,1328],{"className":33,"code":1327,"language":35,"meta":36,"style":36},"2026-04-22 10:15\n",[18,1329,1330],{"__ignoreMap":36},[40,1331,1332,1334,1336,1338,1340,1342,1344,1346,1348],{"class":42,"line":43},[40,1333,282],{"class":136},[40,1335,285],{"class":90},[40,1337,288],{"class":136},[40,1339,292],{"class":291},[40,1341,285],{"class":90},[40,1343,297],{"class":136},[40,1345,300],{"class":136},[40,1347,303],{"class":60},[40,1349,1350],{"class":136},"15\n",[14,1352,1353,1354,96],{},"If you want to learn format codes step by step, see ",[759,1355,1357],{"href":1356},"\u002Fstandard-library\u002Fdatetime.strftime-explained","datetime.strftime() explained",[429,1359,1361,1362],{"id":1360},"parse-text-into-a-datetime-with-strptime","Parse text into a datetime with ",[18,1363,1364],{},"strptime()",[14,1366,1367,1369,1370,1372],{},[18,1368,1364],{}," turns a string into a ",[18,1371,20],{}," object.",[31,1374,1376],{"className":33,"code":1375,"language":35,"meta":36,"style":36},"from datetime import datetime\n\ntext = \"2026-04-22 14:30\"\ndt = datetime.strptime(text, \"%Y-%m-%d %H:%M\")\n\nprint(dt)\n",[18,1377,1378,1388,1392,1408,1440,1444],{"__ignoreMap":36},[40,1379,1380,1382,1384,1386],{"class":42,"line":43},[40,1381,47],{"class":46},[40,1383,51],{"class":50},[40,1385,54],{"class":46},[40,1387,671],{"class":50},[40,1389,1390],{"class":42,"line":77},[40,1391,81],{"emptyLinePlaceholder":80},[40,1393,1394,1397,1399,1402,1405],{"class":42,"line":84},[40,1395,1396],{"class":50},"text ",[40,1398,91],{"class":90},[40,1400,1401],{"class":1291}," \"",[40,1403,1404],{"class":1295},"2026-04-22 14:30",[40,1406,1407],{"class":1291},"\"\n",[40,1409,1410,1412,1414,1416,1418,1421,1423,1426,1428,1430,1432,1434,1436,1438],{"class":42,"line":106},[40,1411,680],{"class":50},[40,1413,91],{"class":90},[40,1415,57],{"class":50},[40,1417,96],{"class":60},[40,1419,1420],{"class":99},"strptime",[40,1422,133],{"class":60},[40,1424,1425],{"class":99},"text",[40,1427,61],{"class":60},[40,1429,1401],{"class":1291},[40,1431,1296],{"class":1295},[40,1433,1299],{"class":136},[40,1435,1302],{"class":1295},[40,1437,1292],{"class":1291},[40,1439,145],{"class":60},[40,1441,1442],{"class":42,"line":123},[40,1443,81],{"emptyLinePlaceholder":80},[40,1445,1446,1448,1450,1452],{"class":42,"line":148},[40,1447,181],{"class":180},[40,1449,133],{"class":60},[40,1451,716],{"class":99},[40,1453,145],{"class":60},[14,1455,512],{},[31,1457,1458],{"className":33,"code":723,"language":35,"meta":36,"style":36},[18,1459,1460],{"__ignoreMap":36},[40,1461,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482],{"class":42,"line":43},[40,1463,282],{"class":136},[40,1465,285],{"class":90},[40,1467,288],{"class":136},[40,1469,292],{"class":291},[40,1471,285],{"class":90},[40,1473,297],{"class":136},[40,1475,701],{"class":136},[40,1477,303],{"class":60},[40,1479,335],{"class":136},[40,1481,303],{"class":60},[40,1483,340],{"class":136},[14,1485,1486,1487,96],{},"For more examples, see ",[759,1488,1490],{"href":1489},"\u002Fstandard-library\u002Fdatetime.strptime-explained","datetime.strptime() explained",[429,1492,1494,1495],{"id":1493},"add-days-with-timedeltadays","Add days with ",[18,1496,1497],{},"timedelta(days=...)",[31,1499,1501],{"className":33,"code":1500,"language":35,"meta":36,"style":36},"from datetime import date, timedelta\n\ntoday = date.today()\nfuture_date = today + timedelta(days=10)\n\nprint(today)\nprint(future_date)\n",[18,1502,1503,1517,1521,1535,1560,1564,1574],{"__ignoreMap":36},[40,1504,1505,1507,1509,1511,1513,1515],{"class":42,"line":43},[40,1506,47],{"class":46},[40,1508,51],{"class":50},[40,1510,54],{"class":46},[40,1512,64],{"class":50},[40,1514,61],{"class":60},[40,1516,74],{"class":50},[40,1518,1519],{"class":42,"line":77},[40,1520,81],{"emptyLinePlaceholder":80},[40,1522,1523,1525,1527,1529,1531,1533],{"class":42,"line":84},[40,1524,109],{"class":50},[40,1526,91],{"class":90},[40,1528,64],{"class":50},[40,1530,96],{"class":60},[40,1532,118],{"class":99},[40,1534,103],{"class":60},[40,1536,1537,1540,1542,1545,1547,1549,1551,1553,1555,1558],{"class":42,"line":106},[40,1538,1539],{"class":50},"future_date ",[40,1541,91],{"class":90},[40,1543,1544],{"class":50}," today ",[40,1546,222],{"class":90},[40,1548,156],{"class":99},[40,1550,133],{"class":60},[40,1552,162],{"class":161},[40,1554,91],{"class":90},[40,1556,1557],{"class":136},"10",[40,1559,145],{"class":60},[40,1561,1562],{"class":42,"line":123},[40,1563,81],{"emptyLinePlaceholder":80},[40,1565,1566,1568,1570,1572],{"class":42,"line":148},[40,1567,181],{"class":180},[40,1569,133],{"class":60},[40,1571,118],{"class":99},[40,1573,145],{"class":60},[40,1575,1576,1578,1580,1583],{"class":42,"line":172},[40,1577,181],{"class":180},[40,1579,133],{"class":60},[40,1581,1582],{"class":99},"future_date",[40,1584,145],{"class":60},[26,1586,1588],{"id":1587},"how-importing-works","How importing works",[14,1590,1591],{},"This is one of the biggest beginner confusion points.",[429,1593,1595],{"id":1594},"import-datetime",[18,1596,1597],{},"import datetime",[14,1599,1600],{},"This imports the whole module.",[31,1602,1604],{"className":33,"code":1603,"language":35,"meta":36,"style":36},"import datetime\n\nprint(datetime.date.today())\nprint(datetime.datetime.now())\n",[18,1605,1606,1612,1616,1636],{"__ignoreMap":36},[40,1607,1608,1610],{"class":42,"line":43},[40,1609,54],{"class":46},[40,1611,671],{"class":50},[40,1613,1614],{"class":42,"line":77},[40,1615,81],{"emptyLinePlaceholder":80},[40,1617,1618,1620,1622,1624,1626,1629,1631,1633],{"class":42,"line":84},[40,1619,181],{"class":180},[40,1621,133],{"class":60},[40,1623,20],{"class":99},[40,1625,96],{"class":60},[40,1627,431],{"class":1628},"skxfh",[40,1630,96],{"class":60},[40,1632,118],{"class":99},[40,1634,1635],{"class":60},"())\n",[40,1637,1638,1640,1642,1644,1646,1648,1650,1652],{"class":42,"line":106},[40,1639,181],{"class":180},[40,1641,133],{"class":60},[40,1643,20],{"class":99},[40,1645,96],{"class":60},[40,1647,20],{"class":1628},[40,1649,96],{"class":60},[40,1651,100],{"class":99},[40,1653,1635],{"class":60},[14,1655,1656],{},"Here, you must use the module name first:",[235,1658,1659,1664,1669],{},[238,1660,1661],{},[18,1662,1663],{},"datetime.date",[238,1665,1666],{},[18,1667,1668],{},"datetime.datetime",[238,1670,1671],{},[18,1672,1673],{},"datetime.timedelta",[429,1675,1677],{"id":1676},"from-datetime-import-datetime",[18,1678,1679],{},"from datetime import datetime",[14,1681,1682,1683,1685],{},"This imports only the ",[18,1684,20],{}," class.",[31,1687,1689],{"className":33,"code":1688,"language":35,"meta":36,"style":36},"from datetime import datetime\n\nprint(datetime.now())\n",[18,1690,1691,1701,1705],{"__ignoreMap":36},[40,1692,1693,1695,1697,1699],{"class":42,"line":43},[40,1694,47],{"class":46},[40,1696,51],{"class":50},[40,1698,54],{"class":46},[40,1700,671],{"class":50},[40,1702,1703],{"class":42,"line":77},[40,1704,81],{"emptyLinePlaceholder":80},[40,1706,1707,1709,1711,1713,1715,1717],{"class":42,"line":84},[40,1708,181],{"class":180},[40,1710,133],{"class":60},[40,1712,20],{"class":99},[40,1714,96],{"class":60},[40,1716,100],{"class":99},[40,1718,1635],{"class":60},[14,1720,1721,1722,1724],{},"Now ",[18,1723,20],{}," refers to the class, not the module.",[429,1726,1728],{"id":1727},"why-this-confuses-beginners","Why this confuses beginners",[14,1730,1731,1732,1734,1735,96],{},"The module is named ",[18,1733,20],{},", and one class inside it is also named ",[18,1736,20],{},[14,1738,1739],{},"That means these two lines do different things:",[31,1741,1743],{"className":33,"code":1742,"language":35,"meta":36,"style":36},"import datetime\n",[18,1744,1745],{"__ignoreMap":36},[40,1746,1747,1749],{"class":42,"line":43},[40,1748,54],{"class":46},[40,1750,671],{"class":50},[31,1752,1754],{"className":33,"code":1753,"language":35,"meta":36,"style":36},"from datetime import datetime\n",[18,1755,1756],{"__ignoreMap":36},[40,1757,1758,1760,1762,1764],{"class":42,"line":43},[40,1759,47],{"class":46},[40,1761,51],{"class":50},[40,1763,54],{"class":46},[40,1765,671],{"class":50},[14,1767,1768,1769,1772,1773,96],{},"If you mix them up, you may get an error such as an ",[18,1770,1771],{},"AttributeError",". If that happens, see ",[759,1774,1776],{"href":1775},"\u002Ferrors\u002Fattributeerror-module-has-no-attribute-fix","how to fix \"module has no attribute\"",[14,1778,1779],{},"A quick way to remember it:",[235,1781,1782,1790],{},[238,1783,1784,1786,1787],{},[18,1785,1597],{}," → use ",[18,1788,1789],{},"datetime.datetime.now()",[238,1791,1792,1786,1794],{},[18,1793,1679],{},[18,1795,242],{},[26,1797,1799],{"id":1798},"what-this-page-does-not-cover-in-depth","What this page does not cover in depth",[14,1801,1802],{},"This overview does not go deep into:",[235,1804,1805,1808,1811,1814],{},[238,1806,1807],{},"Detailed formatting codes",[238,1809,1810],{},"Advanced time zone handling",[238,1812,1813],{},"Date arithmetic edge cases",[238,1815,1816,1817,1820,1821],{},"Third-party libraries like ",[18,1818,1819],{},"pandas"," or ",[18,1822,1823],{},"dateutil",[14,1825,1826],{},"This page is meant to help you understand the main pieces of the module first.",[26,1828,1830],{"id":1829},"common-mistakes","Common mistakes",[14,1832,1833,1834,96],{},"These are some common beginner problems when using ",[18,1835,20],{},[429,1837,1839,1840,1842,1843,1845],{"id":1838},"confusing-the-datetime-module-with-the-datetime-class","Confusing the ",[18,1841,20],{}," module with the ",[18,1844,20],{}," class",[14,1847,1848],{},"This is very common:",[31,1850,1852],{"className":33,"code":1851,"language":35,"meta":36,"style":36},"import datetime\n\nprint(datetime.now())\n",[18,1853,1854,1860,1864],{"__ignoreMap":36},[40,1855,1856,1858],{"class":42,"line":43},[40,1857,54],{"class":46},[40,1859,671],{"class":50},[40,1861,1862],{"class":42,"line":77},[40,1863,81],{"emptyLinePlaceholder":80},[40,1865,1866,1868,1870,1872,1874,1876],{"class":42,"line":84},[40,1867,181],{"class":180},[40,1869,133],{"class":60},[40,1871,20],{"class":99},[40,1873,96],{"class":60},[40,1875,100],{"class":99},[40,1877,1635],{"class":60},[14,1879,1880,1881,1884,1885,1887],{},"This causes a problem because ",[18,1882,1883],{},"now()"," belongs to the ",[18,1886,20],{}," class, not directly to the module.",[14,1889,1890],{},"Correct versions:",[31,1892,1894],{"className":33,"code":1893,"language":35,"meta":36,"style":36},"import datetime\n\nprint(datetime.datetime.now())\n",[18,1895,1896,1902,1906],{"__ignoreMap":36},[40,1897,1898,1900],{"class":42,"line":43},[40,1899,54],{"class":46},[40,1901,671],{"class":50},[40,1903,1904],{"class":42,"line":77},[40,1905,81],{"emptyLinePlaceholder":80},[40,1907,1908,1910,1912,1914,1916,1918,1920,1922],{"class":42,"line":84},[40,1909,181],{"class":180},[40,1911,133],{"class":60},[40,1913,20],{"class":99},[40,1915,96],{"class":60},[40,1917,20],{"class":1628},[40,1919,96],{"class":60},[40,1921,100],{"class":99},[40,1923,1635],{"class":60},[14,1925,1926],{},"or:",[31,1928,1929],{"className":33,"code":1688,"language":35,"meta":36,"style":36},[18,1930,1931,1941,1945],{"__ignoreMap":36},[40,1932,1933,1935,1937,1939],{"class":42,"line":43},[40,1934,47],{"class":46},[40,1936,51],{"class":50},[40,1938,54],{"class":46},[40,1940,671],{"class":50},[40,1942,1943],{"class":42,"line":77},[40,1944,81],{"emptyLinePlaceholder":80},[40,1946,1947,1949,1951,1953,1955,1957],{"class":42,"line":84},[40,1948,181],{"class":180},[40,1950,133],{"class":60},[40,1952,20],{"class":99},[40,1954,96],{"class":60},[40,1956,100],{"class":99},[40,1958,1635],{"class":60},[429,1960,1962,1963,1965],{"id":1961},"using-strptime-with-the-wrong-format-string","Using ",[18,1964,1364],{}," with the wrong format string",[14,1967,1968],{},"If the text and the format do not match, Python raises an error.",[31,1970,1972],{"className":33,"code":1971,"language":35,"meta":36,"style":36},"from datetime import datetime\n\ntext = \"22\u002F04\u002F2026\"\ndt = datetime.strptime(text, \"%Y-%m-%d\")\n",[18,1973,1974,1984,1988,2001],{"__ignoreMap":36},[40,1975,1976,1978,1980,1982],{"class":42,"line":43},[40,1977,47],{"class":46},[40,1979,51],{"class":50},[40,1981,54],{"class":46},[40,1983,671],{"class":50},[40,1985,1986],{"class":42,"line":77},[40,1987,81],{"emptyLinePlaceholder":80},[40,1989,1990,1992,1994,1996,1999],{"class":42,"line":84},[40,1991,1396],{"class":50},[40,1993,91],{"class":90},[40,1995,1401],{"class":1291},[40,1997,1998],{"class":1295},"22\u002F04\u002F2026",[40,2000,1407],{"class":1291},[40,2002,2003,2005,2007,2009,2011,2013,2015,2017,2019,2021,2023,2025,2027],{"class":42,"line":106},[40,2004,680],{"class":50},[40,2006,91],{"class":90},[40,2008,57],{"class":50},[40,2010,96],{"class":60},[40,2012,1420],{"class":99},[40,2014,133],{"class":60},[40,2016,1425],{"class":99},[40,2018,61],{"class":60},[40,2020,1401],{"class":1291},[40,2022,1296],{"class":1295},[40,2024,1299],{"class":136},[40,2026,1292],{"class":1291},[40,2028,145],{"class":60},[14,2030,2031,2032,2035,2036,96],{},"This fails because the string uses ",[18,2033,2034],{},"\u002F"," and day-first order, but the format expects ",[18,2037,2038],{},"year-month-day",[14,2040,2041],{},"Correct version:",[31,2043,2045],{"className":33,"code":2044,"language":35,"meta":36,"style":36},"from datetime import datetime\n\ntext = \"22\u002F04\u002F2026\"\ndt = datetime.strptime(text, \"%d\u002F%m\u002F%Y\")\nprint(dt)\n",[18,2046,2047,2057,2061,2073,2102],{"__ignoreMap":36},[40,2048,2049,2051,2053,2055],{"class":42,"line":43},[40,2050,47],{"class":46},[40,2052,51],{"class":50},[40,2054,54],{"class":46},[40,2056,671],{"class":50},[40,2058,2059],{"class":42,"line":77},[40,2060,81],{"emptyLinePlaceholder":80},[40,2062,2063,2065,2067,2069,2071],{"class":42,"line":84},[40,2064,1396],{"class":50},[40,2066,91],{"class":90},[40,2068,1401],{"class":1291},[40,2070,1998],{"class":1295},[40,2072,1407],{"class":1291},[40,2074,2075,2077,2079,2081,2083,2085,2087,2089,2091,2093,2095,2098,2100],{"class":42,"line":106},[40,2076,680],{"class":50},[40,2078,91],{"class":90},[40,2080,57],{"class":50},[40,2082,96],{"class":60},[40,2084,1420],{"class":99},[40,2086,133],{"class":60},[40,2088,1425],{"class":99},[40,2090,61],{"class":60},[40,2092,1401],{"class":1291},[40,2094,1299],{"class":136},[40,2096,2097],{"class":1295},"\u002F%m\u002F%Y",[40,2099,1292],{"class":1291},[40,2101,145],{"class":60},[40,2103,2104,2106,2108,2110],{"class":42,"line":123},[40,2105,181],{"class":180},[40,2107,133],{"class":60},[40,2109,716],{"class":99},[40,2111,145],{"class":60},[429,2113,2115,2116,2118],{"id":2114},"trying-to-add-a-string-directly-to-a-datetime-object","Trying to add a string directly to a ",[18,2117,20],{}," object",[14,2120,2121],{},"This does not work:",[31,2123,2125],{"className":33,"code":2124,"language":35,"meta":36,"style":36},"from datetime import datetime\n\nnow = datetime.now()\n# print(now + \"7 days\")\n",[18,2126,2127,2137,2141,2155],{"__ignoreMap":36},[40,2128,2129,2131,2133,2135],{"class":42,"line":43},[40,2130,47],{"class":46},[40,2132,51],{"class":50},[40,2134,54],{"class":46},[40,2136,671],{"class":50},[40,2138,2139],{"class":42,"line":77},[40,2140,81],{"emptyLinePlaceholder":80},[40,2142,2143,2145,2147,2149,2151,2153],{"class":42,"line":84},[40,2144,87],{"class":50},[40,2146,91],{"class":90},[40,2148,57],{"class":50},[40,2150,96],{"class":60},[40,2152,100],{"class":99},[40,2154,103],{"class":60},[40,2156,2157],{"class":42,"line":106},[40,2158,2160],{"class":2159},"sutJx","# print(now + \"7 days\")\n",[14,2162,2163,2164,2166],{},"You must use ",[18,2165,765],{}," instead:",[31,2168,2170],{"className":33,"code":2169,"language":35,"meta":36,"style":36},"from datetime import datetime, timedelta\n\nnow = datetime.now()\nresult = now + timedelta(days=7)\nprint(result)\n",[18,2171,2172,2186,2190,2204,2227],{"__ignoreMap":36},[40,2173,2174,2176,2178,2180,2182,2184],{"class":42,"line":43},[40,2175,47],{"class":46},[40,2177,51],{"class":50},[40,2179,54],{"class":46},[40,2181,57],{"class":50},[40,2183,61],{"class":60},[40,2185,74],{"class":50},[40,2187,2188],{"class":42,"line":77},[40,2189,81],{"emptyLinePlaceholder":80},[40,2191,2192,2194,2196,2198,2200,2202],{"class":42,"line":84},[40,2193,87],{"class":50},[40,2195,91],{"class":90},[40,2197,57],{"class":50},[40,2199,96],{"class":60},[40,2201,100],{"class":99},[40,2203,103],{"class":60},[40,2205,2206,2209,2211,2213,2215,2217,2219,2221,2223,2225],{"class":42,"line":106},[40,2207,2208],{"class":50},"result ",[40,2210,91],{"class":90},[40,2212,838],{"class":50},[40,2214,222],{"class":90},[40,2216,156],{"class":99},[40,2218,133],{"class":60},[40,2220,162],{"class":161},[40,2222,91],{"class":90},[40,2224,167],{"class":136},[40,2226,145],{"class":60},[40,2228,2229,2231,2233,2236],{"class":42,"line":123},[40,2230,181],{"class":180},[40,2232,133],{"class":60},[40,2234,2235],{"class":99},"result",[40,2237,145],{"class":60},[429,2239,2241,2242,2244],{"id":2240},"expecting-date-objects-to-have-time-values","Expecting ",[18,2243,431],{}," objects to have time values",[14,2246,436,2247,2249],{},[18,2248,431],{}," only stores:",[235,2251,2252,2254,2256],{},[238,2253,444],{},[238,2255,447],{},[238,2257,450],{},[14,2259,2260],{},"It does not store hours or minutes.",[31,2262,2263],{"className":33,"code":1132,"language":35,"meta":36,"style":36},[18,2264,2265,2275,2279,2293],{"__ignoreMap":36},[40,2266,2267,2269,2271,2273],{"class":42,"line":43},[40,2268,47],{"class":46},[40,2270,51],{"class":50},[40,2272,54],{"class":46},[40,2274,469],{"class":50},[40,2276,2277],{"class":42,"line":77},[40,2278,81],{"emptyLinePlaceholder":80},[40,2280,2281,2283,2285,2287,2289,2291],{"class":42,"line":84},[40,2282,109],{"class":50},[40,2284,91],{"class":90},[40,2286,64],{"class":50},[40,2288,96],{"class":60},[40,2290,118],{"class":99},[40,2292,103],{"class":60},[40,2294,2295,2297,2299,2301],{"class":42,"line":106},[40,2296,181],{"class":180},[40,2298,133],{"class":60},[40,2300,118],{"class":99},[40,2302,145],{"class":60},[14,2304,2305,2306,96],{},"If you need the time too, use ",[18,2307,20],{},[429,2309,2311],{"id":2310},"forgetting-that-months-and-days-must-be-valid-numbers","Forgetting that months and days must be valid numbers",[14,2313,2314],{},"This will fail:",[31,2316,2318],{"className":33,"code":2317,"language":35,"meta":36,"style":36},"from datetime import date\n\n# bad_date = date(2026, 13, 40)\n",[18,2319,2320,2330,2334],{"__ignoreMap":36},[40,2321,2322,2324,2326,2328],{"class":42,"line":43},[40,2323,47],{"class":46},[40,2325,51],{"class":50},[40,2327,54],{"class":46},[40,2329,469],{"class":50},[40,2331,2332],{"class":42,"line":77},[40,2333,81],{"emptyLinePlaceholder":80},[40,2335,2336],{"class":42,"line":84},[40,2337,2338],{"class":2159},"# bad_date = date(2026, 13, 40)\n",[14,2340,2341,2342,2345,2346,2349],{},"Month must be from ",[18,2343,2344],{},"1"," to ",[18,2347,2348],{},"12",", and day must be valid for that month.",[14,2351,2352,2353,96],{},"If you see value conversion problems in other code, you may also need to check your input first. A related beginner error is ",[759,2354,2356],{"href":2355},"\u002Ferrors\u002Fvalueerror-invalid-literal-for-int-with-base-10-fix","invalid literal for int() with base 10",[26,2358,2360],{"id":2359},"faq","FAQ",[429,2362,2364],{"id":2363},"what-is-the-difference-between-date-and-datetime-in-python","What is the difference between date and datetime in Python?",[14,2366,2367,2369,2370,2372],{},[18,2368,431],{}," stores only year, month, and day. ",[18,2371,20],{}," stores both the date and the time.",[429,2374,2376],{"id":2375},"why-does-python-have-both-datetime-the-module-and-datetime-the-class","Why does Python have both datetime the module and datetime the class?",[14,2378,2379,2380,96],{},"The module contains several classes. One of those classes is also named ",[18,2381,20],{},[429,2383,2385],{"id":2384},"how-do-i-get-the-current-date-and-time","How do I get the current date and time?",[14,2387,534,2388,2390,2391,2393,2394,2396],{},[18,2389,242],{}," after importing the ",[18,2392,20],{}," class from the ",[18,2395,20],{}," module.",[31,2398,2399],{"className":33,"code":1688,"language":35,"meta":36,"style":36},[18,2400,2401,2411,2415],{"__ignoreMap":36},[40,2402,2403,2405,2407,2409],{"class":42,"line":43},[40,2404,47],{"class":46},[40,2406,51],{"class":50},[40,2408,54],{"class":46},[40,2410,671],{"class":50},[40,2412,2413],{"class":42,"line":77},[40,2414,81],{"emptyLinePlaceholder":80},[40,2416,2417,2419,2421,2423,2425,2427],{"class":42,"line":84},[40,2418,181],{"class":180},[40,2420,133],{"class":60},[40,2422,20],{"class":99},[40,2424,96],{"class":60},[40,2426,100],{"class":99},[40,2428,1635],{"class":60},[429,2430,2432],{"id":2431},"how-do-i-turn-a-datetime-into-a-string","How do I turn a datetime into a string?",[14,2434,534,2435,2437],{},[18,2436,1233],{}," to format it as text.",[31,2439,2441],{"className":33,"code":2440,"language":35,"meta":36,"style":36},"from datetime import datetime\n\nnow = datetime.now()\nprint(now.strftime(\"%Y-%m-%d\"))\n",[18,2442,2443,2453,2457,2471],{"__ignoreMap":36},[40,2444,2445,2447,2449,2451],{"class":42,"line":43},[40,2446,47],{"class":46},[40,2448,51],{"class":50},[40,2450,54],{"class":46},[40,2452,671],{"class":50},[40,2454,2455],{"class":42,"line":77},[40,2456,81],{"emptyLinePlaceholder":80},[40,2458,2459,2461,2463,2465,2467,2469],{"class":42,"line":84},[40,2460,87],{"class":50},[40,2462,91],{"class":90},[40,2464,57],{"class":50},[40,2466,96],{"class":60},[40,2468,100],{"class":99},[40,2470,103],{"class":60},[40,2472,2473,2475,2477,2479,2481,2483,2485,2487,2489,2491,2493],{"class":42,"line":106},[40,2474,181],{"class":180},[40,2476,133],{"class":60},[40,2478,100],{"class":99},[40,2480,96],{"class":60},[40,2482,1286],{"class":99},[40,2484,133],{"class":60},[40,2486,1292],{"class":1291},[40,2488,1296],{"class":1295},[40,2490,1299],{"class":136},[40,2492,1292],{"class":1291},[40,2494,2495],{"class":60},"))\n",[429,2497,2499],{"id":2498},"how-do-i-turn-a-string-into-a-datetime","How do I turn a string into a datetime?",[14,2501,534,2502,2504],{},[18,2503,1364],{}," with a matching format pattern.",[31,2506,2508],{"className":33,"code":2507,"language":35,"meta":36,"style":36},"from datetime import datetime\n\ntext = \"2026-04-22\"\ndt = datetime.strptime(text, \"%Y-%m-%d\")\nprint(dt)\n",[18,2509,2510,2520,2524,2537,2565],{"__ignoreMap":36},[40,2511,2512,2514,2516,2518],{"class":42,"line":43},[40,2513,47],{"class":46},[40,2515,51],{"class":50},[40,2517,54],{"class":46},[40,2519,671],{"class":50},[40,2521,2522],{"class":42,"line":77},[40,2523,81],{"emptyLinePlaceholder":80},[40,2525,2526,2528,2530,2532,2535],{"class":42,"line":84},[40,2527,1396],{"class":50},[40,2529,91],{"class":90},[40,2531,1401],{"class":1291},[40,2533,2534],{"class":1295},"2026-04-22",[40,2536,1407],{"class":1291},[40,2538,2539,2541,2543,2545,2547,2549,2551,2553,2555,2557,2559,2561,2563],{"class":42,"line":106},[40,2540,680],{"class":50},[40,2542,91],{"class":90},[40,2544,57],{"class":50},[40,2546,96],{"class":60},[40,2548,1420],{"class":99},[40,2550,133],{"class":60},[40,2552,1425],{"class":99},[40,2554,61],{"class":60},[40,2556,1401],{"class":1291},[40,2558,1296],{"class":1295},[40,2560,1299],{"class":136},[40,2562,1292],{"class":1291},[40,2564,145],{"class":60},[40,2566,2567,2569,2571,2573],{"class":42,"line":123},[40,2568,181],{"class":180},[40,2570,133],{"class":60},[40,2572,716],{"class":99},[40,2574,145],{"class":60},[26,2576,2578],{"id":2577},"see-also","See also",[235,2580,2581,2585,2589,2593],{},[238,2582,2583],{},[759,2584,762],{"href":761},[238,2586,2587],{},[759,2588,1490],{"href":1489},[238,2590,2591],{},[759,2592,1357],{"href":1356},[238,2594,2595],{},[759,2596,2597],{"href":1775},"How to fix \"module has no attribute\"",[14,2599,2600],{},"If you are learning Python step by step, the best next move is to pick one exact task: getting the current date, parsing a date string, or formatting a datetime for output.",[2602,2603,2604],"style",{},"html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .slqww, html code.shiki .slqww{--shiki-light:#6182B8;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .sptTA, html code.shiki .sptTA{--shiki-light:#6182B8;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sx12J, html code.shiki .sx12J{--shiki-light:#F76D47;--shiki-light-font-style:inherit;--shiki-default:#B31D28;--shiki-default-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}",{"title":36,"searchDepth":77,"depth":77,"links":2606},[2607,2608,2609,2616,2617,2629,2634,2635,2646,2653],{"id":28,"depth":77,"text":29},{"id":374,"depth":77,"text":375},{"id":421,"depth":77,"text":422,"children":2610},[2611,2612,2613,2614,2615],{"id":431,"depth":84,"text":431},{"id":540,"depth":84,"text":540},{"id":20,"depth":84,"text":20},{"id":765,"depth":84,"text":765},{"id":886,"depth":84,"text":886},{"id":902,"depth":77,"text":903},{"id":1117,"depth":77,"text":1118,"children":2618},[2619,2621,2623,2625,2627],{"id":1126,"depth":84,"text":2620},"Get the current date with date.today()",{"id":1175,"depth":84,"text":2622},"Get the current date and time with datetime.now()",{"id":1229,"depth":84,"text":2624},"Format a datetime as text with strftime()",{"id":1360,"depth":84,"text":2626},"Parse text into a datetime with strptime()",{"id":1493,"depth":84,"text":2628},"Add days with timedelta(days=...)",{"id":1587,"depth":77,"text":1588,"children":2630},[2631,2632,2633],{"id":1594,"depth":84,"text":1597},{"id":1676,"depth":84,"text":1679},{"id":1727,"depth":84,"text":1728},{"id":1798,"depth":77,"text":1799},{"id":1829,"depth":77,"text":1830,"children":2636},[2637,2639,2641,2643,2645],{"id":1838,"depth":84,"text":2638},"Confusing the datetime module with the datetime class",{"id":1961,"depth":84,"text":2640},"Using strptime() with the wrong format string",{"id":2114,"depth":84,"text":2642},"Trying to add a string directly to a datetime object",{"id":2240,"depth":84,"text":2644},"Expecting date objects to have time values",{"id":2310,"depth":84,"text":2311},{"id":2359,"depth":77,"text":2360,"children":2647},[2648,2649,2650,2651,2652],{"id":2363,"depth":84,"text":2364},{"id":2375,"depth":84,"text":2376},{"id":2384,"depth":84,"text":2385},{"id":2431,"depth":84,"text":2432},{"id":2498,"depth":84,"text":2499},{"id":2577,"depth":77,"text":2578},"Master python datetime module overview in our comprehensive Python beginner guide.","md",{},"\u002Fstandard-library\u002Fpython-datetime-module-overview",{"title":5,"description":2654},"standard-library\u002Fpython-datetime-module-overview","gHiCzAaKWgT4Z4-8u4aU4w2Csy8utBFBD1t3i70vdhU",1777585499266]