/
fedorhub
/
Python_Le
Обзор
Документация
Войти
/
fedorhub
/
Python_Le
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
python/datetime-05/index.htm
2 357 строк
237 KB
fedorhub
upload files
17 дек 2025, 14:35
17 дек 2025, 14:35
50de53d
Код
Авторство
О чём код?
<!DOCTYPE html> <html class="no-js" lang="ru-RU"> <head> <meta http-equiv="content-type" content="text/html" charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" > <link rel="profile" href="http://gmpg.org/xfn/11"> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <script> MathJax = { tex: { inlineMath: [['$','$'],['\\(','\\)']], processEscapes: true }, options: { ignoreHtmlClass: 'tex2jax_ignore|editor-rich-text' } }; </script> <!-- This site is optimized with the Yoast SEO plugin v23.8 - https://yoast.com/wordpress/plugins/seo/ --> <title>Дата и время в Питоне | Программирование на Питоне</title> <meta name="description" content="Умение работать с датой и временем в Питоне - важная составляющая анализа данных. В особенности это касается временных рядов." /> <link rel="canonical" href="https://www.dmitrymakarov.ru/python/datetime-05/" /> <meta property="og:locale" content="ru_RU" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Дата и время в Питоне | Программирование на Питоне" /> <meta property="og:description" content="Умение работать с датой и временем в Питоне - важная составляющая анализа данных. В особенности это касается временных рядов." /> <meta property="og:url" content="https://www.dmitrymakarov.ru/python/datetime-05/" /> <meta property="og:site_name" content="Машинное обучение" /> <meta property="article:modified_time" content="2024-10-12T18:19:48+00:00" /> <meta property="og:image" content="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/datetime_module_class.jpg" /> <meta property="og:image:width" content="1332" /> <meta property="og:image:height" content="683" /> <meta property="og:image:type" content="image/jpeg" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:label1" content="Примерное время для чтения" /> <meta name="twitter:data1" content="13 минут" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.dmitrymakarov.ru/python/datetime-05/","url":"https://www.dmitrymakarov.ru/python/datetime-05/","name":"Дата и время в Питоне | Программирование на Питоне","isPartOf":{"@id":"https://www.dmitrymakarov.ru/#website"},"primaryImageOfPage":{"@id":"https://www.dmitrymakarov.ru/python/datetime-05/#primaryimage"},"image":{"@id":"https://www.dmitrymakarov.ru/python/datetime-05/#primaryimage"},"thumbnailUrl":"https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/datetime_module_class-1024x525.jpg","datePublished":"2021-11-16T10:47:17+00:00","dateModified":"2024-10-12T18:19:48+00:00","description":"Умение работать с датой и временем в Питоне - важная составляющая анализа данных. В особенности это касается временных рядов.","breadcrumb":{"@id":"https://www.dmitrymakarov.ru/python/datetime-05/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https://www.dmitrymakarov.ru/python/datetime-05/"]}]},{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https://www.dmitrymakarov.ru/python/datetime-05/#primaryimage","url":"https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/datetime_module_class.jpg","contentUrl":"https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/datetime_module_class.jpg","width":1332,"height":683},{"@type":"BreadcrumbList","@id":"https://www.dmitrymakarov.ru/python/datetime-05/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Главная страница","item":"https://www.dmitrymakarov.ru/"},{"@type":"ListItem","position":2,"name":"Программирование на Питоне","item":"https://www.dmitrymakarov.ru/python/"},{"@type":"ListItem","position":3,"name":"Дата и время в Питоне"}]},{"@type":"WebSite","@id":"https://www.dmitrymakarov.ru/#website","url":"https://www.dmitrymakarov.ru/","name":"Машинное обучение","description":"","publisher":{"@id":"https://www.dmitrymakarov.ru/#/schema/person/3fc221e2d391cc5cfd9d31c9c251c2a4"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.dmitrymakarov.ru/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":["Person","Organization"],"@id":"https://www.dmitrymakarov.ru/#/schema/person/3fc221e2d391cc5cfd9d31c9c251c2a4","name":"DmitryMakarov","image":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https://www.dmitrymakarov.ru/#/schema/person/image/","url":"https://secure.gravatar.com/avatar/2c5f922d990c667feffc00f99517cc0e?s=96&d=mm&r=g","contentUrl":"https://secure.gravatar.com/avatar/2c5f922d990c667feffc00f99517cc0e?s=96&d=mm&r=g","caption":"DmitryMakarov"},"logo":{"@id":"https://www.dmitrymakarov.ru/#/schema/person/image/"}}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//cdn.jsdelivr.net' /> <link rel="alternate" type="application/rss+xml" title="Машинное обучение » Лента" href="https://www.dmitrymakarov.ru/feed/" /> <link rel="alternate" type="application/rss+xml" title="Машинное обучение » Лента комментариев" href="https://www.dmitrymakarov.ru/comments/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.dmitrymakarov.ru\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.6.2"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <link rel='stylesheet' id='mci-footnotes-no-tooltips-pagelayout-none-css' href='https://www.dmitrymakarov.ru/wp-content/plugins/footnotes/css/footnotes-nottbrpl0.min.css?ver=2.7.3' type='text/css' media='all' /> <link rel='stylesheet' id='urvanov_syntax_highlighter-css' href='https://www.dmitrymakarov.ru/wp-content/plugins/urvanov-syntax-highlighter/css/min/urvanov_syntax_highlighter.min.css?ver=2.8.37' type='text/css' media='all' /> <link rel='stylesheet' id='crayon-theme-familiar-my-copy-css' href='https://www.dmitrymakarov.ru/wp-content/uploads/urvanov-syntax-highlighter/themes/familiar-my-copy/familiar-my-copy.css?ver=2.8.37' type='text/css' media='all' /> <link rel='stylesheet' id='crayon-font-consolas-css' href='https://www.dmitrymakarov.ru/wp-content/plugins/urvanov-syntax-highlighter/fonts/consolas.css?ver=2.8.37' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.dmitrymakarov.ru/wp-includes/css/dist/block-library/style.min.css?ver=6.6.2' type='text/css' media='all' /> <link rel='stylesheet' id='ultimate_blocks-cgb-style-css-css' href='https://www.dmitrymakarov.ru/wp-content/plugins/ultimate-blocks/dist/blocks.style.build.css?ver=672da50e922d0' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #121212;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--dark-gray: #333;--wp--preset--color--medium-gray: #555;--wp--preset--color--light-gray: #777;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 16px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 24px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--normal: 18px;--wp--preset--font-size--larger: 28px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='ub-extension-style-css-css' href='https://www.dmitrymakarov.ru/wp-content/plugins/ultimate-blocks/src/extensions/style.css?ver=6.6.2' type='text/css' media='all' /> <link rel='stylesheet' id='mcluhan-fonts-css' href='https://www.dmitrymakarov.ru/wp-content/themes/mcluhan/assets/css/fonts.css?ver=6.6.2' type='text/css' media='all' /> <link rel='stylesheet' id='fontawesome-css' href='https://www.dmitrymakarov.ru/wp-content/themes/mcluhan/assets/css/font-awesome.css?ver=6.6.2' type='text/css' media='all' /> <link rel='stylesheet' id='mcluhan-style-css' href='https://www.dmitrymakarov.ru/wp-content/themes/mcluhan/style.css?ver=2.1.1' type='text/css' media='all' /> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" id="urvanov_syntax_highlighter_js-js-extra"> /* <![CDATA[ */ var UrvanovSyntaxHighlighterSyntaxSettings = {"version":"2.8.37","is_admin":"0","ajaxurl":"https:\/\/www.dmitrymakarov.ru\/wp-admin\/admin-ajax.php","prefix":"urvanov-syntax-highlighter-","setting":"urvanov-syntax-highlighter-setting","selected":"urvanov-syntax-highlighter-setting-selected","changed":"urvanov-syntax-highlighter-setting-changed","special":"urvanov-syntax-highlighter-setting-special","orig_value":"data-orig-value","debug":""}; var UrvanovSyntaxHighlighterSyntaxStrings = {"copy":"Copied to the clipboard","minimize":"Click To Expand Code"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-content/plugins/urvanov-syntax-highlighter/js/min/urvanov_syntax_highlighter.min.js?ver=2.8.37" id="urvanov_syntax_highlighter_js-js"></script> <style>#ub_table-of-contents-9b94e238-cf60-4721-bd97-2831fcacd70c{ }#ub_table-of-contents-9b94e238-cf60-4721-bd97-2831fcacd70c .ub_table-of-contents-header{ text-align: left; } #ub-content-toggle-884e17cd-4292-4d98-9a74-6d94502c524b{ }#ub-content-toggle-884e17cd-4292-4d98-9a74-6d94502c524b .wp-block-ub-content-toggle-accordion{ border-color: #f1f1f1; } #ub-content-toggle-884e17cd-4292-4d98-9a74-6d94502c524b .wp-block-ub-content-toggle-accordion-title-wrap{ background-color: #f1f1f1; } #ub-content-toggle-884e17cd-4292-4d98-9a74-6d94502c524b .wp-block-ub-content-toggle-accordion-title{ color: #000000; } #ub-content-toggle-884e17cd-4292-4d98-9a74-6d94502c524b .wp-block-ub-content-toggle-accordion-toggle-wrap{ color: #000000; } .ub-content-toggle-title-7afcbf56-cf1f-4c6f-ac97-bc0f8adeaf2f > a{ color: inherit; }#ub-content-toggle-0cd4d80d-8b8f-45a4-bac7-29e529a8f129{ }#ub-content-toggle-0cd4d80d-8b8f-45a4-bac7-29e529a8f129 .wp-block-ub-content-toggle-accordion{ border-color: #f1f1f1; } #ub-content-toggle-0cd4d80d-8b8f-45a4-bac7-29e529a8f129 .wp-block-ub-content-toggle-accordion-title-wrap{ background-color: #f1f1f1; } #ub-content-toggle-0cd4d80d-8b8f-45a4-bac7-29e529a8f129 .wp-block-ub-content-toggle-accordion-title{ color: #000000; } #ub-content-toggle-0cd4d80d-8b8f-45a4-bac7-29e529a8f129 .wp-block-ub-content-toggle-accordion-toggle-wrap{ color: #000000; } .ub-content-toggle-title-3c1941cb-eb88-41b2-9a63-94db218e5f9a > a{ color: inherit; }#ub-content-toggle-4d1ae92c-02b3-457b-a2d3-845027a54755{ }#ub-content-toggle-4d1ae92c-02b3-457b-a2d3-845027a54755 .wp-block-ub-content-toggle-accordion{ border-color: #f1f1f1; } #ub-content-toggle-4d1ae92c-02b3-457b-a2d3-845027a54755 .wp-block-ub-content-toggle-accordion-title-wrap{ background-color: #f1f1f1; } #ub-content-toggle-4d1ae92c-02b3-457b-a2d3-845027a54755 .wp-block-ub-content-toggle-accordion-title{ color: #000000; } #ub-content-toggle-4d1ae92c-02b3-457b-a2d3-845027a54755 .wp-block-ub-content-toggle-accordion-toggle-wrap{ color: #000000; } .ub-content-toggle-title-5830eb37-b67a-47dd-a1da-73580951f0a3 > a{ color: inherit; }</style> <!-- Customizer CSS --> <style type="text/css"> body .site-header { background-color:#004235; }.social-menu.desktop { background-color:#004235; }.social-menu a:hover { color:#004235; }.social-menu a.active { color:#004235; }.mobile-menu-wrapper { background-color:#004235; }.social-menu.mobile { background-color:#004235; }.mobile-search.active { background-color:#004235; } </style> <!-- /Customizer CSS --> <script>jQuery( 'html' ).removeClass( 'no-js' ).addClass( 'js' );</script> <style type="text/css">.broken_link, a.broken_link { text-decoration: line-through; }</style><style type="text/css" id="custom-background-css"> body.custom-background { background-color: #fff9ef; } </style> <link rel="icon" href="https://www.dmitrymakarov.ru/wp-content/uploads/2021/08/cropped-wp-favicon-512-32x32.png" sizes="32x32" /> <link rel="icon" href="https://www.dmitrymakarov.ru/wp-content/uploads/2021/08/cropped-wp-favicon-512-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.dmitrymakarov.ru/wp-content/uploads/2021/08/cropped-wp-favicon-512-180x180.png" /> <meta name="msapplication-TileImage" content="https://www.dmitrymakarov.ru/wp-content/uploads/2021/08/cropped-wp-favicon-512-270x270.png" /> <style type="text/css" media="all"> .footnotes_reference_container {margin-top: 24px !important; margin-bottom: 0px !important;} .footnote_container_prepare > p {border-bottom: 1px solid #aaaaaa !important;} </style> </head> <body class="page-template page-template-full-width-page-template page-template-full-width-page-template-php page page-id-6528 page-child parent-pageid-1374 custom-background full-width-template"> <a class="skip-link button" href="#site-content">Перейти к содержимому</a> <header class="site-header group"> <p class="site-title"><a href="https://www.dmitrymakarov.ru" class="site-name">Машинное обучение</a></p> <div class="nav-toggle"> <div class="bar"></div> <div class="bar"></div> </div> <div class="menu-wrapper"> <ul class="main-menu desktop"> </ul> </div><!-- .menu-wrapper --> <div class="social-menu desktop"> <ul class="social-menu-inner"> <li class="social-search-wrapper"><a href="https://www.dmitrymakarov.ru/?s="></a></li> </ul><!-- .social-menu-inner --> </div><!-- .social-menu --> </header><!-- header --> <div class="mobile-menu-wrapper"> <ul class="main-menu mobile"> <li class="toggle-mobile-search-wrapper"><a href="#" class="toggle-mobile-search">Поиск</a></li> </ul><!-- .main-menu.mobile --> </div><!-- .mobile-menu-wrapper --> <div class="mobile-search"> <div class="untoggle-mobile-search"></div> <form role="search" method="get" class="search-form" action="https://www.dmitrymakarov.ru/"> <label class="screen-reader-text" for="search-form-672da50ea4faf">Поиск:</label> <input type="search" id="search-form-672da50ea4faf" class="search-field" placeholder="Введите запрос" value="" name="s" autocomplete="off" /> </button> </form> <div class="mobile-results"> <div class="results-wrapper"></div> </div> </div><!-- .mobile-search --> <div class="search-overlay"> <form role="search" method="get" class="search-form" action="https://www.dmitrymakarov.ru/"> <label class="screen-reader-text" for="search-form-672da50ea5033">Поиск:</label> <input type="search" id="search-form-672da50ea5033" class="search-field" placeholder="Введите запрос" value="" name="s" autocomplete="off" /> </button> </form> </div><!-- .search-overlay --> <main class="site-content" id="site-content"> <article class="post-6528 page type-page status-publish hentry missing-thumbnail"> <header class="entry-header section-inner"> <h1 class="entry-title">Дата и время в Питоне</h1> </header><!-- .entry-header --> <div class="entry-content section-inner"> <p class="has-light-gray-color has-text-color"><a href="https://www.dmitrymakarov.ru/">Все курсы</a> > <a href="https://www.dmitrymakarov.ru/python/">Программирование на Питоне</a> > Занятие 5</p> <p>Говоря про <a href="https://www.dmitrymakarov.ru/intro/time-series-20/">временные ряды</a>, мы уже начали анализировать данные, в которых присутствует дата и время (в частности, в библиотеке Pandas). Сегодня мы сделаем шаг назад и посмотрим в целом как работать с датой и временем в Питоне.</p> <div class="wp-block-ub-table-of-contents-block ub_table-of-contents" id="ub_table-of-contents-9b94e238-cf60-4721-bd97-2831fcacd70c" data-linktodivider="false" data-showtext="show" data-hidetext="hide" data-scrolltype="auto" data-initiallyhideonmobile="false" data-initiallyshow="true"><div class="ub_table-of-contents-header-container"><div class="ub_table-of-contents-header"> <div class="ub_table-of-contents-title"><strong>Содержание занятия</strong></div></div></div><div class="ub_table-of-contents-extra-container"><div class="ub_table-of-contents-container ub_table-of-contents-1-column "><ul><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#0-modul-datetime>Модуль datetime</a><ul><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#1-import-modulya-i-klassa-datetime>Импорт модуля и класса datetime</a></li><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#2-obekt-datetime-i-funktsiya-now>Объект datetime и функция now()</a></li><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#3-timestamp>Timestamp</a></li><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#4-sozdanie-obekta-datetime-vruchnuyu>Создание объекта datetime вручную</a></li></ul></li><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#5-preobrazovanie-stroki-v-datetime-i-naoborot>Преобразование строки в datetime и наоборот</a><ul><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#6-stroka-v-datetime-cherez-strptime>Строка в datetime через .strptime()</a></li><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#7-datetime-v-stroku-cherez-strftime>Datetime в строку через .strftime()</a></li></ul></li><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#8-sravnenie-i-arifmetika-dat>Сравнение и арифметика дат</a><ul><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#9-sravnenie-dat>Сравнение дат</a></li><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#10-kalendarnyy-i-alfavitnyy-poryadok-dat>Календарный и алфавитный порядок дат</a></li><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#11-promezhutok-vremeni-i-klass-timedelta>Промежуток времени и класс timedelta</a></li><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#12-arifmetika-dat>Арифметика дат</a></li></ul></li><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#13-data-i-obrabotka-oshibok>Дата и обработка ошибок</a><ul><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#14-konstruktsiya-try-except-i-operator-pass>Конструкция try / except и оператор pass</a></li><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#15-obrabotka-neskolkikh-formatov-dat>Обработка нескольких форматов дат</a></li></ul></li><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#16-podvedem-itog>Подведем итог</a><ul><li><a href=https://www.dmitrymakarov.ru/python/datetime-05/#17-voprosy-dlya-zakrepleniya>Вопросы для закрепления</a></li></ul></li></ul></div></div></div> <h2 class="wp-block-heading" id="0-modul-datetime">Модуль datetime</h2> <p>В базовом функционале Питона нет отдельного типа данных, отвечающего за дату и время. Необходимо импортировать модуль, который называется datetime.</p> <p>Первая особенность, про которую стоит сказать, datetime — это не только название модуля, но и название одного из классов внутри этого модуля. Помимо класса datetime, нас будет интересовать ещё один класс — timedelta.</p> <div class="wp-block-image"> <figure class="aligncenter size-large is-resized"><img fetchpriority="high" decoding="async" width="1024" height="525" src="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/datetime_module_class-1024x525.jpg" alt="модуль datetime: класс datetime, класс timedelta" class="wp-image-6803" style="width:560px;height:286px" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/datetime_module_class-1024x525.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/datetime_module_class-300x154.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/datetime_module_class-768x394.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/datetime_module_class-1200x615.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/datetime_module_class-600x308.jpg 600w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/datetime_module_class.jpg 1332w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div> <p>Перейдем к практике.</p> <p class="has-text-align-center has-white-color has-text-color has-background" style="background-color:#004235"><a href="https://colab.research.google.com/drive/16t9LLPNfbbG3i7HNaGWBNnnUCltZ-7Zi?usp=sharing" target="_blank" rel="noreferrer noopener">Откроем блокнот к этому занятию</a>⧉</p> <h3 class="wp-block-heading" id="1-import-modulya-i-klassa-datetime">Импорт модуля и класса datetime</h3> <p>Самый простой способ — импортировать весь модуль datetime.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d8f9746129250" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d8f9746129250-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d8f9746129250-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d8f9746129250-1"><span class="crayon-c"># импортируем весь модуль</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d8f9746129250-2"><span class="crayon-r">import</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <p>Далее предположим, что мы хотим воспользоваться <strong>функцией now()</strong>, которая находится внутри <em>класса </em>datetime. Функция <strong>now()</strong> выводит текущие дату и время.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d8ff015513442" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d8ff015513442-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d8ff015513442-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d8ff015513442-1"><span class="crayon-c"># чтобы получить доступ к функции now(), сначала обратимся к модулю, потом к классу</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d8ff015513442-2"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-k ">datetime</span><span class="crayon-sy">.</span><span class="crayon-k ">datetime</span><span class="crayon-sy">.</span><span class="crayon-e">now</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d901999498256" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d901999498256-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d901999498256-1">2021-11-18 09:33:28.140594</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Как вы видите, это не очень удобно. Можно импортировать только класс datetime и обращаться непосредственно к нему.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d902419227902" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d902419227902-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d902419227902-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d902419227902-1"><span class="crayon-st">from</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-h"> </span><span class="crayon-r">import</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d902419227902-2"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-k ">datetime</span><span class="crayon-sy">.</span><span class="crayon-e">now</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d903137927281" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d903137927281-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d903137927281-1">2021-11-18 09:33:30.586757</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <h3 class="wp-block-heading" id="2-obekt-datetime-i-funktsiya-now">Объект datetime и функция now()</h3> <p>Теперь поговорим подробнее про то, что выводит функция <strong>now()</strong>.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d904935446493" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d904935446493-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d904935446493-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d904935446493-3">3</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d904935446493-1"><span class="crayon-c"># поместим созданный с помощью функции now() объект datetime в переменную cur_dt</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d904935446493-2"><span class="crayon-v">cur_dt</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-sy">.</span><span class="crayon-e">now</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d904935446493-3"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-v">cur_dt</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d905422249549" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d905422249549-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d905422249549-1">2021-11-18 09:33:32.412999</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>На выходе мы получаем текущие дату и время по <a href="https://ru.wikipedia.org/wiki/%D0%92%D1%81%D0%B5%D0%BC%D0%B8%D1%80%D0%BD%D0%BE%D0%B5_%D0%BA%D0%BE%D0%BE%D1%80%D0%B4%D0%B8%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%B2%D1%80%D0%B5%D0%BC%D1%8F" target="_blank" rel="noreferrer noopener">UTC</a>⧉, потому что серверы Google Colab настроены именно на это время (московское время, например, отличается на +3 часа). Сам вывод состоит из следующих компонентов.</p> <figure class="wp-block-image size-large"><img decoding="async" width="1024" height="186" src="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/now_f-1024x186.jpg" alt="компоненты вывода функции now()" class="wp-image-6807" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/now_f-1024x186.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/now_f-300x54.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/now_f-768x139.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/now_f-1536x279.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/now_f-1200x218.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/now_f-600x109.jpg 600w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/now_f.jpg 2015w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> <p>Мы можем обратиться к каждому из этих компонентов по отдельности.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d906983726210" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d906983726210-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d906983726210-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d906983726210-1"><span class="crayon-c"># с помощью соответствующих атрибутов выведем каждый из компонентов объекта</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d906983726210-2"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-v">cur_dt</span><span class="crayon-sy">.</span><span class="crayon-v">year</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">cur_dt</span><span class="crayon-sy">.</span><span class="crayon-v">month</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">cur_dt</span><span class="crayon-sy">.</span><span class="crayon-v">day</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">cur_dt</span><span class="crayon-sy">.</span><span class="crayon-v">hour</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">cur_dt</span><span class="crayon-sy">.</span><span class="crayon-v">minute</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">cur_dt</span><span class="crayon-sy">.</span><span class="crayon-v">second</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">cur_dt</span><span class="crayon-sy">.</span><span class="crayon-v">microsecond</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0003 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d908228541793" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d908228541793-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d908228541793-1">2021 11 18 9 33 32 412999</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Мы также можем посмотреть на день недели, причем в двух форматах. <strong>Метод .weekday()</strong> считает, что неделя начинается с нуля, <strong>метод .isoweekday()</strong>, что с единицы. </p> <div class="wp-block-image"> <figure class="aligncenter size-large is-resized"><img decoding="async" width="1024" height="231" src="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/weekday-1024x231.jpg" alt="метод .weekday() и метод .isoweekday()" class="wp-image-6811" style="width:707px;height:159px" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/weekday-1024x231.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/weekday-300x68.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/weekday-768x173.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/weekday-1536x346.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/weekday-1200x271.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/weekday-600x135.jpg 600w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/weekday.jpg 1884w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div> <p>Так как 18 ноября 2021 года — это четверг, то применив эти методы, мы должны получить цифры три и четыре соответственно.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d909012822467" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d909012822467-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d909012822467-1"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-v">cur_dt</span><span class="crayon-sy">.</span><span class="crayon-e">weekday</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">cur_dt</span><span class="crayon-sy">.</span><span class="crayon-e">isoweekday</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d90a843995761" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d90a843995761-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d90a843995761-1">3 4</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p class="has-background" style="background-color:#ffe8c4">Разумеется, когда вы будете самостоятельно исполнять код в блокноте, будут выведены текущие дата и время сервера Google.</p> <p>Объект datetime, полученный из функции <strong>now()</strong>, не содержит данных о часовом поясе.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d90b230301034" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d90b230301034-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d90b230301034-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d90b230301034-1"><span class="crayon-c"># посмотрим на часовой пояс с помощью атрибута tzinfo</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d90b230301034-2"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-v">cur_dt</span><span class="crayon-sy">.</span><span class="crayon-v">tzinfo</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d90c232155460" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d90c232155460-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d90c232155460-1">None</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Для того чтобы добавить такую информацию и вывести, например, другой часовой пояс, нам нужно воспользоваться модулем pytz.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d90d309357513" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d90d309357513-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d90d309357513-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d90d309357513-3">3</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d90d309357513-4">4</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d90d309357513-5">5</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d90d309357513-1"><span class="crayon-r">import</span><span class="crayon-h"> </span><span class="crayon-i">pytz</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d90d309357513-2"> </div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d90d309357513-3"><span class="crayon-c"># выведем текущее время в Москве</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d90d309357513-4"><span class="crayon-v">dt_moscow</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-sy">.</span><span class="crayon-e">now</span><span class="crayon-sy">(</span><span class="crayon-v">pytz</span><span class="crayon-sy">.</span><span class="crayon-e">timezone</span><span class="crayon-sy">(</span><span class="crayon-s">'Europe/Moscow'</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d90d309357513-5"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-v">dt_moscow</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d90e895027452" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d90e895027452-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d90e895027452-1">2021-11-18 12:33:33.682674+03:00</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Посмотрим, не появился ли часовой пояс.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d90f025908536" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d90f025908536-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d90f025908536-1"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-v">dt_moscow</span><span class="crayon-sy">.</span><span class="crayon-v">tzinfo</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d910550406927" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d910550406927-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d910550406927-1">Europe/Moscow</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <h3 class="wp-block-heading" id="3-timestamp">Timestamp</h3> <p>До сих пор мы работали с привычным для нас делением на годы, месяцы, дни, часы, минуты и секунды. При этом компьютеры используют так называемое время Unix, которое отсчитывается в секундах c первого января 1970 года. Для отображения даты и времени в таком формате в Питоне есть объект timestamp (по-английски — «временная отметка»).</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d911804006975" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d911804006975-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d911804006975-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d911804006975-1"><span class="crayon-c"># получим timestamp текущего времени с помощью метода .timestamp()</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d911804006975-2"><span class="crayon-v">timestamp</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-sy">.</span><span class="crayon-e">now</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">.</span><span class="crayon-e">timestamp</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <p>Посмотрим, сколько секунд и микросекунд прошло с 01.01.1970 и до момента исполнения кода.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d912517357666" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d912517357666-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d912517357666-1"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-v">timestamp</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d913282162962" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d913282162962-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d913282162962-1">1637233979.128056</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Не составляет труда вернуть timestamp обратно в привычный формат.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d914900348162" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d914900348162-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d914900348162-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d914900348162-1"><span class="crayon-c"># для этого воспользуемся методом .fromtimestamp()</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d914900348162-2"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-k ">datetime</span><span class="crayon-sy">.</span><span class="crayon-e">fromtimestamp</span><span class="crayon-sy">(</span><span class="crayon-v">timestamp</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d915367684848" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d915367684848-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d915367684848-1">2021-11-18 11:12:59.128056</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <h3 class="wp-block-heading" id="4-sozdanie-obekta-datetime-vruchnuyu">Создание объекта datetime вручную</h3> <p>Дату и время не обязательно получать из функции <strong>now()</strong>. Мы вполне можем передать объекту datetime наши собственные параметры, например, день рождения Питона.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d916236764552" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d916236764552-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d916236764552-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d916236764552-3">3</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d916236764552-1"><span class="crayon-c"># передадим объекту datetime 20 февраля 1991 года</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d916236764552-2"><span class="crayon-v">hb</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-sy">(</span><span class="crayon-cn">1991</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">2</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">20</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d916236764552-3"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-v">hb</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d917971468792" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d917971468792-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d917971468792-1">1991-02-20 00:00:00</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Обратите внимание, мы ввели только год, месяц и день. Это обязательные параметры. Остальные параметры можно не вводить, в этом случае они заполнятся нулями.</p> <p>Из этого объекта мы также можем извлечь компоненты (год, месяц, число и т.д.) и создать timestamp.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d918025838577" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d918025838577-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d918025838577-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d918025838577-1"><span class="crayon-c"># извлечем год с помощью атрибута year</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d918025838577-2"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-v">hb</span><span class="crayon-sy">.</span><span class="crayon-v">year</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d919687666992" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d919687666992-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d919687666992-1">1991</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d91a776219986" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d91a776219986-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d91a776219986-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d91a776219986-1"><span class="crayon-c"># создадим timestamp</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d91a776219986-2"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-k ">datetime</span><span class="crayon-sy">.</span><span class="crayon-e">timestamp</span><span class="crayon-sy">(</span><span class="crayon-v">hb</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d91b820820650" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d91b820820650-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d91b820820650-1">667008000.0</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <h2 class="wp-block-heading" id="5-preobrazovanie-stroki-v-datetime-i-naoborot">Преобразование строки в datetime и наоборот</h2> <h3 class="wp-block-heading" id="6-stroka-v-datetime-cherez-strptime">Строка в datetime через .strptime()</h3> <p>Если дата содержится в строковом формате, Питон не сможет извлечь из нее компоненты. Предварительно строку нужно преобразовать. Для этого есть <strong>метод .strptime()</strong>.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d91c220473085" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d91c220473085-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d91c220473085-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d91c220473085-3">3</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d91c220473085-1"><span class="crayon-c"># дана строка с датой 2 декабря 2007 года и временем 12 часов 30 минут и 45 секунд</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d91c220473085-2"><span class="crayon-v">str_to_dt</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-s">'2007-12-02 12:30:45'</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d91c220473085-3"><span class="crayon-k ">type</span><span class="crayon-sy">(</span><span class="crayon-v">str_dt</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d91d186829461" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d91d186829461-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d91d186829461-1">str</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Преобразуем эту строку в объект datetime с помощью <strong>метода .strptime()</strong>.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d91e929705813" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d91e929705813-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d91e929705813-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d91e929705813-3">3</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d91e929705813-4">4</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d91e929705813-1"><span class="crayon-v">res_dt</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-sy">.</span><span class="crayon-e">strptime</span><span class="crayon-sy">(</span><span class="crayon-v">str_to_dt</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-s">'%Y-%m-%d %H:%M:%S'</span><span class="crayon-sy">)</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d91e929705813-2"> </div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d91e929705813-3"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-v">res_dt</span><span class="crayon-sy">)</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d91e929705813-4"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-k ">type</span><span class="crayon-sy">(</span><span class="crayon-v">res_dt</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d91f070612655" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d91f070612655-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d91f070612655-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d91f070612655-1">2007-12-02 12:30:45</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d91f070612655-2"><class 'datetime.datetime'></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Как вы видите, сначала мы передаём этому методу саму строку, а затем тот формат, в котором содержится дата и время (иначе Питон не поймет, к чему относится конкретное число).</p> <p>Давайте расшифруем каждое из обозначений:</p> <ul class="wp-block-list"> <li> <span id="urvanov-syntax-highlighter-672da50e8d920544747309" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">%</span><span class="crayon-v">Y</span></span></span> — год в формате ГГГГ, например: 1995, 2003 и т.д. </li> <li> <span id="urvanov-syntax-highlighter-672da50e8d921911447922" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">%</span><span class="crayon-v">m</span></span></span> — месяц в виде числа с нулями, например, январь — 01, февраль — 02 и т.д.</li> <li> <span id="urvanov-syntax-highlighter-672da50e8d922153434441" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">%</span><span class="crayon-v">d</span></span></span> — день месяца в виде числа с нулями, например: 01, 02, …, 31</li> <li> <span id="urvanov-syntax-highlighter-672da50e8d923852788867" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">%</span><span class="crayon-v">H</span></span></span> — час в 24-часовом формате в виде числа с нулями, например: 00, 01, …, 23</li> <li> <span id="urvanov-syntax-highlighter-672da50e8d924519261435" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">%</span><span class="crayon-v">M</span></span></span> — минуты в виде числа с нулями, например: 00, 01, …, 59</li> <li> <span id="urvanov-syntax-highlighter-672da50e8d925584479544" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">%</span><span class="crayon-v">S</span></span></span> — секунды в виде числа с нулями, например: 00, 01, …, 59</li> </ul> <p>Дефисы, пробелы, двоеточия или, например, запятые — тоже элементы формата и их тоже нужно указывать.</p> <h3 class="wp-block-heading" id="7-datetime-v-stroku-cherez-strftime">Datetime в строку через .strftime()</h3> <p>Обратное преобразование также возможно. Это может быть полезно, если мы захотим вывести дату и время в строго определенном формате.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d926289359818" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d926289359818-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d926289359818-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d926289359818-3">3</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d926289359818-1"><span class="crayon-c"># вначале создадим объект datetime и передадим ему 19 ноября 2002 года</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d926289359818-2"><span class="crayon-v">dt_to_str</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-sy">(</span><span class="crayon-cn">2002</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">11</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">19</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d926289359818-3"><span class="crayon-k ">type</span><span class="crayon-sy">(</span><span class="crayon-v">dt_to_str</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d927074929965" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d927074929965-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d927074929965-1">datetime.datetime</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d928328005979" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d928328005979-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d928328005979-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d928328005979-3">3</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d928328005979-4">4</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d928328005979-5">5</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d928328005979-1"><span class="crayon-c"># преобразуем объект в строку в формате "день недели, месяц число, год"</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d928328005979-2"><span class="crayon-v">res_str</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-sy">.</span><span class="crayon-e">strftime</span><span class="crayon-sy">(</span><span class="crayon-v">dt_to_str</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-s">'%A, %B %d, %Y'</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d928328005979-3"> </div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d928328005979-4"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-v">res_str</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d928328005979-5"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-k ">type</span><span class="crayon-sy">(</span><span class="crayon-v">res_str</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d929916041572" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d929916041572-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d929916041572-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d929916041572-1">Tuesday, November 19, 2002</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d929916041572-2"><class 'str'></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p><strong>Метод .strftime()</strong> можно применять непосредственно к объекту datetime.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d92a730350151" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d92a730350151-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d92a730350151-1"><span class="crayon-v">dt_to_str</span><span class="crayon-sy">.</span><span class="crayon-e">strftime</span><span class="crayon-sy">(</span><span class="crayon-s">'%A, %B %d, %Y'</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d92b814010109" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d92b814010109-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d92b814010109-1">'Tuesday, November 19, 2002'</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Расшифруем обозначения:</p> <ul class="wp-block-list"> <li> <span id="urvanov-syntax-highlighter-672da50e8d92c944384348" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">%</span><span class="crayon-v">A</span></span></span> — полное название дня недели, например: Sunday, Monday, …</li> <li> <span id="urvanov-syntax-highlighter-672da50e8d92d512106489" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">%</span><span class="crayon-v">B</span></span></span> — полное название месяца, например: January, February</li> <li> <span id="urvanov-syntax-highlighter-672da50e8d92e238017039" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">%</span><span class="crayon-v">d</span></span></span> — день месяца в виде числа с нулями, например: 01, 02, …, 31</li> <li> <span id="urvanov-syntax-highlighter-672da50e8d92f140883306" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">%</span><span class="crayon-v">Y</span></span></span> — год в формате ГГГГ, например: 1999, 2003 и т.д.</li> </ul> <p>Более подробный перечень обозначений можно найти в <a href="https://colab.research.google.com/drive/16t9LLPNfbbG3i7HNaGWBNnnUCltZ-7Zi#scrollTo=KbxUl-Xe7To-" target="_blank" rel="noreferrer noopener">блокноте к занятию</a>⧉.</p> <h2 class="wp-block-heading" id="8-sravnenie-i-arifmetika-dat">Сравнение и арифметика дат</h2> <h3 class="wp-block-heading" id="9-sravnenie-dat">Сравнение дат</h3> <p>Даты можно сравнивать между собой. Для этого используются стандартные операторы сравнения <span id="urvanov-syntax-highlighter-672da50e8d930068936713" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">></span></span></span>, <span id="urvanov-syntax-highlighter-672da50e8d931005604159" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o"><</span></span></span>, <span id="urvanov-syntax-highlighter-672da50e8d932059374839" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">>=</span></span></span>, <span id="urvanov-syntax-highlighter-672da50e8d933903069464" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o"><=</span></span></span>, <span id="urvanov-syntax-highlighter-672da50e8d934449783915" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">==</span></span></span>, <span id="urvanov-syntax-highlighter-672da50e8d935537006661" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-o">!=</span></span></span>.</p> <p class="has-background" style="background-color:#ffe8c4">Обратите внимание, что <em>большей считается более поздняя дата</em>.</p> <p>Сравним две даты публикации работ Эйнштейна.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d936178244706" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d936178244706-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d936178244706-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d936178244706-1"><span class="crayon-v">date1</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-sy">(</span><span class="crayon-cn">1905</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">6</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">30</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-c"># "К электродинамике движущихся тел"</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d936178244706-2"><span class="crayon-v">date2</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-sy">(</span><span class="crayon-cn">1916</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">5</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">11</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-c"># Общая теория относительности</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <p>Вторая дата должна быть «больше», потому что она более поздняя.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d937504590178" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d937504590178-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d937504590178-1"><span class="crayon-v">date1</span><span class="crayon-h"> </span><span class="crayon-o"><</span><span class="crayon-h"> </span><span class="crayon-v">date2</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d938613372094" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d938613372094-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d938613372094-1">True</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Обратное будет признано ложным.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d939659068626" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d939659068626-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d939659068626-1"><span class="crayon-v">date1</span><span class="crayon-h"> </span><span class="crayon-o">></span><span class="crayon-h"> </span><span class="crayon-v">date2</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d93a919737402" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d93a919737402-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d93a919737402-1">False</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <h3 class="wp-block-heading" id="10-kalendarnyy-i-alfavitnyy-poryadok-dat">Календарный и алфавитный порядок дат</h3> <p>Интересно, что если даты записаны в виде строки в формате ГГГГ.ММ.ДД, то в Питоне мы можем их сравнивать, как если бы мы сравнивали объекты datetime. Другими словами, календарный и алфавитный порядок дат совпадают. Приведем пример.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d93b795202470" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d93b795202470-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d93b795202470-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d93b795202470-1"><span class="crayon-c"># вначале запишем даты в виде строки и сравним их</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d93b795202470-2"><span class="crayon-s">'2007-12-02'</span><span class="crayon-h"> </span><span class="crayon-o">></span><span class="crayon-h"> </span><span class="crayon-s">'2002-11-19'</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d93c366802728" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d93c366802728-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d93c366802728-1">True</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d93d041554262" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d93d041554262-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d93d041554262-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d93d041554262-1"><span class="crayon-c"># теперь в виде объекта datetime</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d93d041554262-2"><span class="crayon-k ">datetime</span><span class="crayon-sy">(</span><span class="crayon-cn">2007</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">12</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">2</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-o">></span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-sy">(</span><span class="crayon-cn">2002</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">11</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">19</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d93e879085310" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d93e879085310-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d93e879085310-1">True</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <h3 class="wp-block-heading" id="11-promezhutok-vremeni-i-klass-timedelta">Промежуток времени и класс timedelta</h3> <p>Если из большей даты вычесть меньшую, то мы получим временной промежуток между датами.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d93f632424133" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d93f632424133-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d93f632424133-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d93f632424133-1"><span class="crayon-v">diff</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-v">date2</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-e">date1</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d93f632424133-2"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-v">diff</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d940998214549" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d940998214549-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d940998214549-1">3968 days, 0:00:00</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>При этом результат будет храниться в специальном объекте timedelta.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d941987806685" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d941987806685-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d941987806685-1"><span class="crayon-k ">type</span><span class="crayon-sy">(</span><span class="crayon-v">diff</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d942212227873" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d942212227873-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d942212227873-1">datetime.timedelta</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Атрибут <strong>days</strong> позволяет посмотреть только дни.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d943405645120" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d943405645120-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d943405645120-1"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-v">diff</span><span class="crayon-sy">.</span><span class="crayon-v">days</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d944737409355" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d944737409355-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d944737409355-1">3968</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Объект timedelta также можно создать вручную.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d945243600685" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d945243600685-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d945243600685-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d945243600685-3">3</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d945243600685-4">4</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d945243600685-5">5</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d945243600685-1"><span class="crayon-c"># для этого вначале импортируем соответствующий класс</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d945243600685-2"><span class="crayon-st">from</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-h"> </span><span class="crayon-r">import</span><span class="crayon-h"> </span><span class="crayon-i">timedelta</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d945243600685-3"> </div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d945243600685-4"><span class="crayon-c"># а затем создадим объект timedelta продолжительностью 1 день</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d945243600685-5"><span class="crayon-e">timedelta</span><span class="crayon-sy">(</span><span class="crayon-v">days</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d94d806243695" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d94d806243695-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d94d806243695-1">datetime.timedelta(days=1)</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <h3 class="wp-block-heading" id="12-arifmetika-dat">Арифметика дат</h3> <p>Объединив объекты <strong>datetime </strong>и <strong>timedelta</strong>, мы можем «путешествовать во времени».</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d94e942276551" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d94e942276551-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d94e942276551-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d94e942276551-3">3</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d94e942276551-1"><span class="crayon-c"># допустим сейчас 1 января 2070 года</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d94e942276551-2"><span class="crayon-v">future</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-sy">(</span><span class="crayon-cn">2070</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d94e942276551-3"><span class="crayon-v">future</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d94f775438706" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d94f775438706-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d94f775438706-1">datetime.datetime(2070, 1, 1, 0, 0)</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>И мы хотим отправиться в 1 января 1900 года, т.е. на 170 лет назад.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d950696965312" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d950696965312-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d950696965312-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d950696965312-3">3</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d950696965312-4">4</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d950696965312-5">5</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d950696965312-6">6</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d950696965312-7">7</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d950696965312-8">8</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d950696965312-1"><span class="crayon-c"># сначала просто умножим 365 дней на 170</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d950696965312-2"><span class="crayon-v">time_travel</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-e">timedelta</span><span class="crayon-sy">(</span><span class="crayon-v">days</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-cn">365</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-o">*</span><span class="crayon-h"> </span><span class="crayon-cn">170</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d950696965312-3"> </div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d950696965312-4"><span class="crayon-c"># а потом переместимся из будущего в прошлое</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d950696965312-5"><span class="crayon-v">past</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-v">future</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">time</span><span class="crayon-sy">_</span>travel</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d950696965312-6"> </div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d950696965312-7"><span class="crayon-c"># к сожалению, мы немного "не долетим", потому что не учли високосные годы, в которых 366 дней</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d950696965312-8"><span class="crayon-v">past</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d951954660390" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d951954660390-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d951954660390-1">datetime.datetime(1900, 2, 12, 0, 0)</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Давайте посмотрим, сколько дней мы преодолели. </p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d952619419350" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d952619419350-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d952619419350-1"><span class="crayon-cn">365</span><span class="crayon-h"> </span><span class="crayon-o">*</span><span class="crayon-h"> </span><span class="crayon-cn">170</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d953325825610" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d953325825610-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d953325825610-1">62050</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Предлагаю узнать, сколько дней нам на самом деле нужно было пролететь. Мы уже умеем это делать, находя разницу между двумя объектами datetime.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d954024517368" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d954024517368-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d954024517368-1"><span class="crayon-k ">datetime</span><span class="crayon-sy">(</span><span class="crayon-cn">2070</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-sy">(</span><span class="crayon-cn">1900</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d955036112955" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d955036112955-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d955036112955-1">datetime.timedelta(days=62092)</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Теперь снова совершим путешествие во времени, но на этот раз укажем правильное количество дней.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d956793191668" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d956793191668-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d956793191668-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d956793191668-3">3</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d956793191668-4">4</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d956793191668-1"><span class="crayon-v">time_travel</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-e">timedelta</span><span class="crayon-sy">(</span><span class="crayon-v">days</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-cn">62092</span><span class="crayon-sy">)</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d956793191668-2"> </div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d956793191668-3"><span class="crayon-v">past</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-v">future</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-e">time_travel</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d956793191668-4"><span class="crayon-v">past</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d957573045039" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d957573045039-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d957573045039-1">datetime.datetime(1900, 1, 1, 0, 0)</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Объект timedelta можно также прибавлять к объекту datetime. Например, нам может быть нужно создать перечень дат, пусть это будут новогодние празники в 2021 году. Для этого удобно использовать цикл while.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d958426232048" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d958426232048-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d958426232048-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d958426232048-3">3</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d958426232048-4">4</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d958426232048-5">5</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d958426232048-6">6</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d958426232048-7">7</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d958426232048-8">8</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d958426232048-9">9</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d958426232048-10">10</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d958426232048-11">11</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d958426232048-1"><span class="crayon-v">cur_date</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-sy">(</span><span class="crayon-cn">2021</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-c"># эту дату мы будем выводить</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d958426232048-2"><span class="crayon-v">end_date</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-k ">datetime</span><span class="crayon-sy">(</span><span class="crayon-cn">2021</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">10</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-c"># это граница (условие в цикле while)</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d958426232048-3"> </div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d958426232048-4"><span class="crayon-c"># пока верно условие</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d958426232048-5"><span class="crayon-st">while</span><span class="crayon-h"> </span><span class="crayon-v">cur_date</span><span class="crayon-h"> </span><span class="crayon-o"><=</span><span class="crayon-h"> </span><span class="crayon-v">end_date</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d958426232048-6"> </div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d958426232048-7"><span class="crayon-h"> </span><span class="crayon-c"># выведем cur_date в формате "месяц число, год"</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d958426232048-8"><span class="crayon-h"> </span><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-v">cur_date</span><span class="crayon-sy">.</span><span class="crayon-e">strftime</span><span class="crayon-sy">(</span><span class="crayon-s">'%b %d, %Y'</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d958426232048-9"> </div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d958426232048-10"><span class="crayon-h"> </span><span class="crayon-c"># прибавим к выводимой дате один день</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d958426232048-11"><span class="crayon-h"> </span><span class="crayon-v">cur_date</span><span class="crayon-h"> </span><span class="crayon-o">+=</span><span class="crayon-h"> </span><span class="crayon-e">timedelta</span><span class="crayon-sy">(</span><span class="crayon-v">days</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0004 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d959544704494" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d959544704494-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d959544704494-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d959544704494-3">3</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d959544704494-4">4</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d959544704494-5">5</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d959544704494-6">6</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d959544704494-7">7</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d959544704494-8">8</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d959544704494-9">9</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d959544704494-10">10</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d959544704494-1">Jan 01, 2021</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d959544704494-2">Jan 02, 2021</div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d959544704494-3">Jan 03, 2021</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d959544704494-4">Jan 04, 2021</div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d959544704494-5">Jan 05, 2021</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d959544704494-6">Jan 06, 2021</div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d959544704494-7">Jan 07, 2021</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d959544704494-8">Jan 08, 2021</div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d959544704494-9">Jan 09, 2021</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d959544704494-10">Jan 10, 2021</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <h2 class="wp-block-heading" id="13-data-i-obrabotka-oshibok">Дата и обработка ошибок</h2> <h3 class="wp-block-heading" id="14-konstruktsiya-try-except-i-operator-pass">Конструкция try / except и оператор pass</h3> <p>Прежде чем мы перейдем к практическому примеру с обработкой дат, давайте познакомимся с одной полезной конструкцией. Часто мы не уверены, что наш код отработает без ошибок. Например, в данных может содержаться неточность, о которой мы ничего не знаем. При этом нам не хотелось бы, чтобы исполнение кода остановилось.</p> <p>Для этого в Питоне есть <strong>конструкция try/except</strong>.</p> <div class="wp-block-image"> <figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="373" src="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/try-except-1024x373.jpg" alt="конструкция try / except" class="wp-image-6849" style="width:584px;height:212px" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/try-except-1024x373.jpg 1024w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/try-except-300x109.jpg 300w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/try-except-768x280.jpg 768w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/try-except-1536x559.jpg 1536w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/try-except-2048x746.jpg 2048w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/try-except-1200x437.jpg 1200w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/try-except-600x218.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div> <p>Приведем пример.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d95a400627879" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-3">3</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-4">4</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-5">5</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-6">6</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-7">7</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-8">8</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-9">9</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-10">10</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-11">11</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-12">12</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-13">13</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-14">14</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-15">15</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-16">16</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-17">17</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-18">18</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-19">19</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-20">20</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95a400627879-21">21</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-1"><span class="crayon-c"># пусть дан список чисел в строковом формате, и мы хотим посчитать их сумму</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-2"><span class="crayon-c"># предположим, буква "а" попала в список случайно</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-3"><span class="crayon-k ">numbers</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-s">'5'</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-s">'10'</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-s">'a'</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-s">'15'</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-s">'10'</span><span class="crayon-sy">]</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-4"> </div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-5"><span class="crayon-c"># объявим переменную суммы</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-6"><span class="crayon-v">total</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-cn">0</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-7"> </div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-8"><span class="crayon-c"># пройдемся по числам</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-9"><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-e">number </span><span class="crayon-st">in</span><span class="crayon-h"> </span><span class="crayon-k ">numbers</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-10"> </div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-11"><span class="crayon-h"> </span><span class="crayon-c"># попробуем прибавить число к переменной total</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-12"><span class="crayon-h"> </span><span class="crayon-st">try</span><span class="crayon-o">:</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-13"><span class="crayon-h"> </span><span class="crayon-v">total</span><span class="crayon-h"> </span><span class="crayon-o">+=</span><span class="crayon-h"> </span><span class="crayon-k ">int</span><span class="crayon-sy">(</span><span class="crayon-v">number</span><span class="crayon-sy">)</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-14"> </div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-15"><span class="crayon-h"> </span><span class="crayon-c"># если же этого сделать не удастся</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-16"><span class="crayon-h"> </span><span class="crayon-st">except</span><span class="crayon-o">:</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-17"><span class="crayon-h"> </span><span class="crayon-c"># перейдем к следующему числу</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-18"><span class="crayon-h"> </span><span class="crayon-r">pass</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-19"> </div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-20"><span class="crayon-c"># выведем сумму</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95a400627879-21"><span class="crayon-v">total</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0004 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d95b715891994" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95b715891994-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95b715891994-1">40</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Если бы такой конструкции не было, при попытке прибавить букву «а» алгоритм вывел бы ошибку.</p> <p><strong>Оператор pass</strong> просто говорит алгоритму продолжить работу. Вместо него можно вывести предупреждение.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d95c515708054" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95c515708054-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95c515708054-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95c515708054-3">3</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95c515708054-4">4</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95c515708054-5">5</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95c515708054-6">6</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95c515708054-7">7</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95c515708054-8">8</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95c515708054-9">9</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95c515708054-1"><span class="crayon-v">total</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-cn">0</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95c515708054-2"> </div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95c515708054-3"><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-e">number </span><span class="crayon-st">in</span><span class="crayon-h"> </span><span class="crayon-k ">numbers</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95c515708054-4"><span class="crayon-h"> </span><span class="crayon-st">try</span><span class="crayon-o">:</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95c515708054-5"><span class="crayon-h"> </span><span class="crayon-v">total</span><span class="crayon-h"> </span><span class="crayon-o">+=</span><span class="crayon-h"> </span><span class="crayon-k ">int</span><span class="crayon-sy">(</span><span class="crayon-v">number</span><span class="crayon-sy">)</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95c515708054-6"><span class="crayon-h"> </span><span class="crayon-st">except</span><span class="crayon-o">:</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95c515708054-7"><span class="crayon-h"> </span><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-i">f</span><span class="crayon-s">'Элемент \'{number}\' обработать не удалось'</span><span class="crayon-sy">)</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95c515708054-8"> </div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95c515708054-9"><span class="crayon-v">total</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d95d063793339" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95d063793339-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95d063793339-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95d063793339-1">Элемент 'a' обработать не удалось</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95d063793339-2">40</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Примечание. Обратите внимание на запись <span id="urvanov-syntax-highlighter-672da50e8d95e232827925" class="urvanov-syntax-highlighter-syntax urvanov-syntax-highlighter-syntax-inline crayon-theme-familiar-my-copy crayon-theme-familiar-my-copy-inline urvanov-syntax-highlighter-font-consolas" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important;"><span class="crayon-pre urvanov-syntax-highlighter-code" style="font-size: 16px !important; line-height: 22px !important;font-size: 16px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><span class="crayon-sy">\</span>'<span class="crayon-sy">{</span><span class="crayon-v">number</span><span class="crayon-sy">}</span><span class="crayon-sy">\</span>'</span></span>. Обратная косая черта необходима, чтобы Питон воспринимал кавычки как часть строки.</p> <h3 class="wp-block-heading" id="15-obrabotka-neskolkikh-formatov-dat">Обработка нескольких форматов дат</h3> <p>Теперь давайте посмотрим, как эта конструкция работает с датами. Вначале скачаем и подгрузим в Google Colab данные среднемесячной температуры в Нью-Йорке в 2002 году (в градусах Фаренгейта).</p> <div class="wp-block-file"><a id="wp-block-file--media-2f068bd6-690b-4666-8fc0-78f3bc5486df" href="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/temperature.csv">temperature.csv</a><a href="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/temperature.csv" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-2f068bd6-690b-4666-8fc0-78f3bc5486df">Скачать</a></div> <p>На данном этапе вы уже должны быть экспертами по <a href="https://www.dmitrymakarov.ru/python/files-04/">работе с внешними данными</a>.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d95f340313153" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95f340313153-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95f340313153-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d95f340313153-3">3</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d95f340313153-4">4</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95f340313153-1"><span class="crayon-c"># посмотрим на данные</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95f340313153-2"><span class="crayon-r">import</span><span class="crayon-h"> </span><span class="crayon-e">pandas </span><span class="crayon-st">as</span><span class="crayon-h"> </span><span class="crayon-e">pd</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d95f340313153-3"><span class="crayon-v">temp</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-v">pd</span><span class="crayon-sy">.</span><span class="crayon-e">read_csv</span><span class="crayon-sy">(</span><span class="crayon-s">'temperature.csv'</span><span class="crayon-sy">)</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d95f340313153-4"><span class="crayon-v">temp</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="270" height="665" src="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/ny_temp.jpg" alt="датафрейм: среднемесячная температура в Нью-Йорке в 2002 году" class="wp-image-6840" style="width:199px;height:491px" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/ny_temp.jpg 270w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/ny_temp-122x300.jpg 122w" sizes="(max-width: 270px) 100vw, 270px" /></figure> <p>Предположим, что мы хотим вручную преобразовать каждую дату из строки в объект datetime. Теперь допустим, что проанализировав данные, мы выявили три шаблона: ГГГГ.ММ.ДД, ГГГГ.ММ.Д и ГГГГ.ММ. Напишем код, который в цикле for преобразует эти даты в объект datetime. Дополнительно наш код должен посчитать количество не обработанных записей.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d961970868661" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-3">3</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-4">4</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-5">5</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-6">6</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-7">7</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-8">8</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-9">9</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-10">10</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-11">11</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-12">12</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-13">13</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-14">14</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-15">15</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-16">16</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-17">17</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-18">18</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-19">19</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-20">20</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-21">21</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-22">22</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-23">23</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-24">24</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d961970868661-25">25</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-1"><span class="crayon-c"># создадим список с известными нам шаблонами</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-2"><span class="crayon-v">formats</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-sy">[</span><span class="crayon-s">'%Y-%m-%d'</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-s">'%Y-%m-%-d'</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-s">'%Y-%m'</span><span class="crayon-sy">]</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-3"> </div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-4"><span class="crayon-c"># создадим счетчик для записей, которые не обработались</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-5"><span class="crayon-v">counter</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-cn">0</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-6"> </div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-7"><span class="crayon-c"># пройдемся в цикле по столбцу Date</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-8"><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-i">d</span><span class="crayon-h"> </span><span class="crayon-st">in</span><span class="crayon-h"> </span><span class="crayon-v">temp</span><span class="crayon-sy">.</span><span class="crayon-v">Date</span><span class="crayon-o">:</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-9"><span class="crayon-h"> </span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-10"><span class="crayon-h"> </span><span class="crayon-c"># затем пройдемся по известным нам форматам</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-11"><span class="crayon-h"> </span><span class="crayon-st">for</span><span class="crayon-h"> </span><span class="crayon-k ">format</span><span class="crayon-h"> </span><span class="crayon-st">in</span><span class="crayon-h"> </span><span class="crayon-v">formats</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-12"> </div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-13"><span class="crayon-h"> </span><span class="crayon-c"># попробуем, применив каждый из форматов,</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-14"><span class="crayon-h"> </span><span class="crayon-c"># преобразовать строку с датой в объект datetime</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-15"><span class="crayon-h"> </span><span class="crayon-st">try</span><span class="crayon-o">:</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-16"><span class="crayon-h"> </span><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-k ">datetime</span><span class="crayon-sy">.</span><span class="crayon-e">strptime</span><span class="crayon-sy">(</span><span class="crayon-v">d</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-k ">format</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-17"><span class="crayon-h"> </span><span class="crayon-v">counter</span><span class="crayon-h"> </span><span class="crayon-o">+=</span><span class="crayon-h"> </span><span class="crayon-cn">1</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-18"><span class="crayon-h"> </span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-19"><span class="crayon-h"> </span><span class="crayon-c"># если что-то пошло не так</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-20"><span class="crayon-h"> </span><span class="crayon-st">except</span><span class="crayon-o">:</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-21"><span class="crayon-h"> </span><span class="crayon-c"># перейдем к следующему формату (второй цикл for) или записи (первый цикл for)</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-22"><span class="crayon-h"> </span><span class="crayon-r">pass</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-23"> </div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-24"><span class="crayon-c"># посмотрим, сколько записей не обработалось</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d961970868661-25"><span class="crayon-k ">print</span><span class="crayon-sy">(</span><span class="crayon-s">'Не обработалось записей:'</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-k ">len</span><span class="crayon-sy">(</span><span class="crayon-v">temp</span><span class="crayon-sy">)</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-h"> </span><span class="crayon-v">counter</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0006 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d962372765350" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d962372765350-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d962372765350-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d962372765350-3">3</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d962372765350-4">4</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d962372765350-5">5</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d962372765350-6">6</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d962372765350-7">7</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d962372765350-8">8</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d962372765350-9">9</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d962372765350-10">10</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d962372765350-11">11</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d962372765350-12">12</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d962372765350-1">2002-01-01 00:00:00</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d962372765350-2">2002-02-01 00:00:00</div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d962372765350-3">2002-03-01 00:00:00</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d962372765350-4">2002-04-01 00:00:00</div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d962372765350-5">2002-05-01 00:00:00</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d962372765350-6">2002-06-01 00:00:00</div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d962372765350-7">2002-07-01 00:00:00</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d962372765350-8">2002-08-01 00:00:00</div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d962372765350-9">2002-09-01 00:00:00</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d962372765350-10">2002-10-01 00:00:00</div><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d962372765350-11">2002-12-01 00:00:00</div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d962372765350-12">Не обработалось записей: 1</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Как мы видим, один формат мы все же упустили (данные за ноябрь в формате ММ.ГГГГ), и Питон не смог обработать эту запись.</p> <p>Эту же работу мы можем поручить библиотеке Pandas через <strong>функцию read_csv()</strong> и параметр <strong>parse_dates</strong> (мы <a href="https://www.dmitrymakarov.ru/intro/time-series-20/#3-import-dannykh-i-rabota-v-biblioteke-pandas">уже делали так</a>, изучая временные ряды).</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d963026320873" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d963026320873-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d963026320873-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d963026320873-1"><span class="crayon-v">temp_parsed</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-v">pd</span><span class="crayon-sy">.</span><span class="crayon-e">read_csv</span><span class="crayon-sy">(</span><span class="crayon-s">'temperature.csv'</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">index_col</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-s">'Date'</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-v">parse_dates</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-t">True</span><span class="crayon-sy">)</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d963026320873-2"><span class="crayon-v">temp_parsed</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0002 seconds] --> </div> <figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="226" height="705" src="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/ny_temp_parsed.jpg" alt="импорт даты и времени через функцию read_csv() и параметр parse_dates" class="wp-image-6843" style="width:180px;height:562px" srcset="https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/ny_temp_parsed.jpg 226w, https://www.dmitrymakarov.ru/wp-content/uploads/2021/11/ny_temp_parsed-96x300.jpg 96w" sizes="(max-width: 226px) 100vw, 226px" /></figure> <p>В данном случае нам удалось обработать все записи, включая данные за ноябрь.</p> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d964740943382" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d964740943382-1">1</div><div class="crayon-num crayon-striped-num" data-line="urvanov-syntax-highlighter-672da50e8d964740943382-2">2</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d964740943382-1"><span class="crayon-c"># индекс превратился в объект datetime</span></div><div class="crayon-line crayon-striped-line" id="urvanov-syntax-highlighter-672da50e8d964740943382-2"><span class="crayon-k ">type</span><span class="crayon-sy">(</span><span class="crayon-v">temp_parsed</span><span class="crayon-sy">.</span><span class="crayon-v">index</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> </div> <div class="wp-block-urvanov-syntax-highlighter-code-block"><!-- Urvanov Syntax Highlighter v2.8.37 --> <div id="urvanov-syntax-highlighter-672da50e8d965967542733" class="urvanov-syntax-highlighter-syntax crayon-theme-familiar-my-copy urvanov-syntax-highlighter-font-consolas urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" minimize scroll-always" style=" margin-top: 15px; margin-bottom: 15px; margin-left: 15px; margin-right: 15px; font-size: 16px !important; line-height: 22px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="show"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 16px !important; line-height: 22px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-672da50e8d965967542733-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 16px !important; line-height: 22px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-672da50e8d965967542733-1">pandas.core.indexes.datetimes.DatetimeIndex</div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0000 seconds] --> </div> <p>Иногда, как мы видим, решение «из коробки» (то есть уже готовое решение) более эффективно, чем написанный самостоятельно код.</p> <h2 class="wp-block-heading" id="16-podvedem-itog">Подведем итог</h2> <p>Сегодня мы посмотрели на возможности Питона по работе с датой и временем. В частности, узнали про классы datetime и timedelta модуля datetime и научились работать с объектами этих классов:</p> <ul class="wp-block-list"> <li>Мы рассмотрели структуру объекта datetime;</li> <li>Узнали про функцию <strong>now()</strong>;</li> <li>Научились извлекать timestamp и вручную создавать объект datetime;</li> <li>Посмотрели, как преобразовывать строку в объект datetime и наоборот;</li> <li>Изучили возможности сравнения дат, вычисления промежутка между датами и выполнили несложную арифметику дат с помощью объекта timedelta;</li> <li>Наконец, мы познакомились с конструкцией try/except и оператором pass и применили их к обработке различных форматов дат.</li> </ul> <h3 class="wp-block-heading" id="17-voprosy-dlya-zakrepleniya">Вопросы для закрепления</h3> <p class="has-black-color has-text-color has-background" style="background-color:#ffe8c4">С какими классами модуля datetime мы познакомились на этом занятии?</p> <div class="wp-block-ub-content-toggle" id="ub-content-toggle-884e17cd-4292-4d98-9a74-6d94502c524b" data-mobilecollapse="true" data-desktopcollapse="true"> <div class="wp-block-ub-content-toggle-accordion" id="ub-content-toggle-panel-block-7afcbf56-cf1f-4c6f-ac97-bc0f8adeaf2f"> <div class="wp-block-ub-content-toggle-accordion-title-wrap"" aria-controls="ub-content-toggle-panel-0-884e17cd-4292-4d98-9a74-6d94502c524b" tabindex="0"> <p class="wp-block-ub-content-toggle-accordion-title ub-content-toggle-title-884e17cd-4292-4d98-9a74-6d94502c524b">Посмотреть правильный ответ</p><div class="wp-block-ub-content-toggle-accordion-toggle-wrap left"><span class="wp-block-ub-content-toggle-accordion-state-indicator wp-block-ub-math-plus"></span> </div></div><div role="region" aria-expanded="false" class="wp-block-ub-content-toggle-accordion-content-wrap ub-hide" id="ub-content-toggle-panel-0-884e17cd-4292-4d98-9a74-6d94502c524b"> <p>Ответ: классом datetime и классом timedelta</p> </div></div> </div> <p class="has-black-color has-text-color has-background" style="background-color:#ffe8c4">Чему соответствует <strong>формат ‘%c’</strong>?</p> <div class="wp-block-ub-content-toggle" id="ub-content-toggle-0cd4d80d-8b8f-45a4-bac7-29e529a8f129" data-mobilecollapse="true" data-desktopcollapse="true"> <div class="wp-block-ub-content-toggle-accordion" id="ub-content-toggle-panel-block-3c1941cb-eb88-41b2-9a63-94db218e5f9a"> <div class="wp-block-ub-content-toggle-accordion-title-wrap"" aria-controls="ub-content-toggle-panel-0-0cd4d80d-8b8f-45a4-bac7-29e529a8f129" tabindex="0"> <p class="wp-block-ub-content-toggle-accordion-title ub-content-toggle-title-0cd4d80d-8b8f-45a4-bac7-29e529a8f129">Посмотреть правильный ответ</p><div class="wp-block-ub-content-toggle-accordion-toggle-wrap left"><span class="wp-block-ub-content-toggle-accordion-state-indicator wp-block-ub-math-plus"></span> </div></div><div role="region" aria-expanded="false" class="wp-block-ub-content-toggle-accordion-content-wrap ub-hide" id="ub-content-toggle-panel-0-0cd4d80d-8b8f-45a4-bac7-29e529a8f129"> <p>Ответ: <strong>формат ‘%c’</strong> выводит полную дату и время, например: Sun Nov 21 10:38:12 2021</p> </div></div> </div> <p class="has-black-color has-text-color has-background" style="background-color:#ffe8c4">Как еще в библиотеке Pandas мы можем превратить столбец в индекс и затем преобразовать в объект datetime? Подсказка: обратитесь к лекции по <a href="https://www.dmitrymakarov.ru/intro/time-series-20/">временным рядам</a>.</p> <div class="wp-block-ub-content-toggle" id="ub-content-toggle-4d1ae92c-02b3-457b-a2d3-845027a54755" data-mobilecollapse="true" data-desktopcollapse="true"> <div class="wp-block-ub-content-toggle-accordion" id="ub-content-toggle-panel-block-5830eb37-b67a-47dd-a1da-73580951f0a3"> <div class="wp-block-ub-content-toggle-accordion-title-wrap"" aria-controls="ub-content-toggle-panel-0-4d1ae92c-02b3-457b-a2d3-845027a54755" tabindex="0"> <p class="wp-block-ub-content-toggle-accordion-title ub-content-toggle-title-4d1ae92c-02b3-457b-a2d3-845027a54755">Посмотреть правильный ответ</p><div class="wp-block-ub-content-toggle-accordion-toggle-wrap left"><span class="wp-block-ub-content-toggle-accordion-state-indicator wp-block-ub-math-plus"></span> </div></div><div role="region" aria-expanded="false" class="wp-block-ub-content-toggle-accordion-content-wrap ub-hide" id="ub-content-toggle-panel-0-4d1ae92c-02b3-457b-a2d3-845027a54755"> <p>Ответ: мы можем последовательно применить <strong>.set_index()</strong> и <strong>pd.to_datetime()</strong></p> </div></div> </div> <p>На следующем занятии мы поговорим про <a href="https://www.dmitrymakarov.ru/python/functions-06/">функции в Питоне</a>.</p> </div> <!-- .content --> </div> <!-- .post --> <footer class="site-footer section-inner"> <!--<p class="copyright">© 2024 <a href="https://www.dmitrymakarov.ru" class="site-name">Машинное обучение</a></p>--> </footer> <!-- footer --> </main> <script type="text/javascript" src="//cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js?ver=6.6.2" id="mathjax-js"></script> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-content/plugins/ultimate-blocks/src/blocks/content-toggle/front.build.js?ver=3.2.2" id="ultimate_blocks-content-toggle-front-script-js"></script> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-content/plugins/ultimate-blocks/src/blocks/table-of-contents/front.build.js?ver=3.2.2" id="ultimate_blocks-table-of-contents-front-script-js"></script> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-includes/js/imagesloaded.min.js?ver=5.0.0" id="imagesloaded-js"></script> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-includes/js/masonry.min.js?ver=4.2.2" id="masonry-js"></script> <script type="text/javascript" id="mcluhan_global-js-extra"> /* <![CDATA[ */ var mcluhan_ajaxpagination = {"ajaxurl":"https:\/\/www.dmitrymakarov.ru\/wp-admin\/admin-ajax.php","query_vars":"{\"page\":\"\",\"pagename\":\"python\\\/datetime-05\"}"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.dmitrymakarov.ru/wp-content/themes/mcluhan/assets/js/global.js?ver=2.1.1" id="mcluhan_global-js"></script> </body> </html>