{"id":2814,"date":"2017-10-27T22:18:56","date_gmt":"2017-10-27T14:18:56","guid":{"rendered":"http:\/\/cn.hostease.com\/xueyuan\/?p=2814"},"modified":"2025-01-26T13:16:09","modified_gmt":"2025-01-26T05:16:09","slug":"%e5%ae%9e%e7%94%a8%e5%8f%88%e5%bc%ba%e5%a4%a7%ef%bc%8c6%e6%ac%bepython%e6%97%b6%e9%97%b4%e6%97%a5%e6%9c%9f%e5%ba%93%e6%8e%a8%e8%8d%90","status":"publish","type":"post","link":"https:\/\/cn.hostease.com\/xueyuan\/jishu\/python\/%e5%ae%9e%e7%94%a8%e5%8f%88%e5%bc%ba%e5%a4%a7%ef%bc%8c6%e6%ac%bepython%e6%97%b6%e9%97%b4%e6%97%a5%e6%9c%9f%e5%ba%93%e6%8e%a8%e8%8d%90\/","title":{"rendered":"\u5b9e\u7528\u53c8\u5f3a\u5927\uff0c6\u6b3ePython\u65f6\u95f4&#038;\u65e5\u671f\u5e93\u63a8\u8350"},"content":{"rendered":"\n<p>\u5728\u4f7f\u7528 Python \u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u9664\u4e86\u4f7f\u7528 datetime \u6807\u51c6\u5e93\u6765\u5904\u7406\u65f6\u95f4\u548c\u65e5\u671f\uff0c\u8fd8\u6709\u8bb8\u591a\u7b2c\u4e09\u65b9\u7684\u5f00\u6e90\u5e93\u503c\u5f97\u5c1d\u8bd5\u3002<\/p>\n\n\n\n<p><strong>1\u3001Arrow<\/strong><\/p>\n\n\n\n<p>Arrow \u662f\u4e00\u4e2a\u4e13\u95e8\u5904\u7406\u65f6\u95f4\u548c\u65e5\u671f\u7684\u8f7b\u91cf\u7ea7 Python \u5e93\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u79cd\u5408\u7406\u3001\u667a\u80fd\u7684\u65b9\u5f0f\u6765\u521b\u5efa\u3001\u64cd\u4f5c\u3001\u683c\u5f0f\u5316\u3001\u8f6c\u6362\u65f6\u95f4\u548c\u65e5\u671f\uff0c\u5e76\u63d0\u4f9b\u4e86\u4e00\u4e2a\u652f\u6301\u8bb8\u591a\u5e38\u89c1\u6784\u5efa\u65b9\u6848\u7684\u667a\u80fd\u6a21\u5757 API \u3002\u7b80\u5355\u6765\u8bf4\uff0c\u5b83\u53ef\u4ee5\u5e2e\u4f60\u4ee5\u66f4\u7b80\u4fbf\u7684\u64cd\u4f5c\u548c\u66f4\u5c11\u7684\u4ee3\u7801\u6765\u4f7f\u7528\u65e5\u671f\u548c\u65f6\u95f4\u3002\u5176\u8bbe\u8ba1\u7075\u611f\u4e3b\u8981\u6765\u6e90\u4e8e moment.js \u548c requests \u3002<\/p>\n\n\n\n<p>Quick start<\/p>\n\n\n\n<ol class=\"wp-block-list dp-sql\">\n<li>$\u00a0pip\u00a0install\u00a0arrow<\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list dp-sql\">\n<li>>>>\u00a0import\u00a0arrow<\/li>\n\n\n\n<li>>>>\u00a0utc\u00a0=\u00a0arrow.utcnow()<\/li>\n\n\n\n<li>>>>\u00a0utc<\/li>\n\n\n\n<li>&lt;Arrow\u00a0[2013-05-11T21:23:58.970460+00:00]><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>>>>\u00a0utc\u00a0=\u00a0utc.<span class=\"func\">replace<\/span>(hours=-1)<\/li>\n\n\n\n<li>>>>\u00a0utc<\/li>\n\n\n\n<li>&lt;Arrow\u00a0[2013-05-11T20:23:58.970460+00:00]><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>>>>\u00a0<span class=\"keyword\">local<\/span>\u00a0=\u00a0utc.<span class=\"keyword\">to<\/span>(<span class=\"string\">&#8216;US\/Pacific&#8217;<\/span>)<\/li>\n\n\n\n<li>>>>\u00a0<span class=\"keyword\">local<\/span><\/li>\n\n\n\n<li>&lt;Arrow\u00a0[2013-05-11T13:23:58.970460-07:00]><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>>>>\u00a0arrow.get(<span class=\"string\">&#8216;2013-05-11T21:23:58.970460+00:00&#8217;<\/span>)<\/li>\n\n\n\n<li>&lt;Arrow\u00a0[2013-05-11T21:23:58.970460+00:00]><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>>>>\u00a0<span class=\"keyword\">local<\/span>.<span class=\"keyword\">timestamp<\/span><\/li>\n\n\n\n<li>1368303838<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>>>>\u00a0<span class=\"keyword\">local<\/span>.format()<\/li>\n\n\n\n<li><span class=\"string\">&#8216;2013-05-11\u00a013:23:58\u00a0-07:00&#8217;<\/span><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>>>>\u00a0<span class=\"keyword\">local<\/span>.format(<span class=\"string\">&#8216;YYYY-MM-DD\u00a0HH:mm:ss\u00a0ZZ&#8217;<\/span>)<\/li>\n\n\n\n<li><span class=\"string\">&#8216;2013-05-11\u00a013:23:58\u00a0-07:00&#8217;<\/span><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>>>>\u00a0<span class=\"keyword\">local<\/span>.humanize()<\/li>\n\n\n\n<li><span class=\"string\">&#8216;an\u00a0hour\u00a0ago&#8217;<\/span><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>>>>\u00a0<span class=\"keyword\">local<\/span>.humanize(locale=<span class=\"string\">&#8216;ko_kr&#8217;<\/span>)<\/li>\n\n\n\n<li><span class=\"string\">&#8216;1\uc2dc\uac04\u00a0\uc804&#8217;<\/span><\/li>\n<\/ol>\n\n\n\n<p><strong>2\u3001Delorean<\/strong><\/p>\n\n\n\n<p>Delorean \u63d0\u4f9b\u4e86\u4e00\u4e2a\u76f8\u6bd4\u4e8e datetime \u548c pytz \u7684\u66f4\u597d\u7684\u62bd\u8c61\uff0c\u8ba9\u4f60\u5904\u7406\u65f6\u95f4\u66f4\u5bb9\u6613\u3002\u5b83\u6709\u5f88\u591a\u6709\u7528\u7684\u5904\u7406\u65f6\u533a\u7684\u7279\u6027\uff0c\u6807\u51c6\u5316\u65f6\u533a\u6216\u8005\u4ece\u4e00\u4e2a\u65f6\u533a\u6539\u53d8\u5230\u53e6\u5916\u4e00\u4e2a\u65f6\u533a\u3002<\/p>\n\n\n\n<p>Quick start<\/p>\n\n\n\n<ol class=\"wp-block-list dp-sql\">\n<li><span class=\"keyword\">from<\/span>\u00a0datetime\u00a0import\u00a0datetime<\/li>\n\n\n\n<li>import\u00a0pytz<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>est\u00a0=\u00a0pytz.timezone(<span class=\"string\">&#8216;US\/Eastern&#8217;<\/span>)<\/li>\n\n\n\n<li>d\u00a0=\u00a0datetime.now(pytz.utc)<\/li>\n\n\n\n<li>d\u00a0=\u00a0est.normalize(d.astimezone(est))<\/li>\n\n\n\n<li><span class=\"keyword\">return<\/span>\u00a0d<\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list dp-sql\">\n<li><span class=\"keyword\">from<\/span>\u00a0delorean\u00a0import\u00a0Delorean<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>d\u00a0=\u00a0Delorean()<\/li>\n\n\n\n<li>d\u00a0=\u00a0d.shift(<span class=\"string\">&#8216;US\/Eastern&#8217;<\/span>)<\/li>\n\n\n\n<li><span class=\"keyword\">return<\/span>\u00a0d<\/li>\n<\/ol>\n\n\n\n<p><strong>3\u3001Pendulum<\/strong><\/p>\n\n\n\n<p>\u539f\u751f\u7684 datetime \u8db3\u591f\u5e94\u4ed8\u57fa\u672c\u60c5\u51b5\uff0c\u4f46\u5f53\u9762\u5bf9\u66f4\u590d\u6742\u7684\u7528\u4f8b\u65f6\uff0c\u901a\u5e38\u4f1a\u6709\u7684\u6349\u895f\u89c1\u8098\uff0c\u4e0d\u90a3\u4e48\u76f4\u89c2\u3002 Pendulum \u5728\u6807\u51c6\u5e93\u7684\u57fa\u7840\u4e4b\u4e0a\uff0c\u63d0\u4f9b\u4e86\u4e00\u4e2a\u66f4\u7b80\u6d01\uff0c\u66f4\u6613\u4e8e\u4f7f\u7528\u7684 API \uff0c\u65e8\u5728\u8ba9 Python datetime \u66f4\u597d\u7528\u3002<\/p>\n\n\n\n<p>Quick start<\/p>\n\n\n\n<ol class=\"wp-block-list dp-sql\">\n<li>>>>\u00a0import\u00a0pendulum<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>>>>\u00a0now_in_paris\u00a0=\u00a0pendulum.now(<span class=\"string\">&#8216;Europe\/Paris&#8217;<\/span>)<\/li>\n\n\n\n<li>>>>\u00a0now_in_paris<\/li>\n\n\n\n<li><span class=\"string\">&#8216;2016-07-04T00:49:58.502116+02:00&#8217;<\/span><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0Seamless\u00a0timezone\u00a0switching<\/li>\n\n\n\n<li>>>>\u00a0now_in_paris.in_timezone(<span class=\"string\">&#8216;UTC&#8217;<\/span>)<\/li>\n\n\n\n<li><span class=\"string\">&#8216;2016-07-03T22:49:58.502116+00:00&#8217;<\/span><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>>>>\u00a0tomorrow\u00a0=\u00a0pendulum.now().<span class=\"keyword\">add<\/span>(days=1)<\/li>\n\n\n\n<li>>>>\u00a0last_week\u00a0=\u00a0pendulum.now().subtract(weeks=1)<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>>>>\u00a0if\u00a0pendulum.now().is_weekend():<\/li>\n\n\n\n<li>&#8230;\u00a0\u00a0\u00a0\u00a0\u00a0print(<span class=\"string\">&#8216;Party!&#8217;<\/span>)<\/li>\n\n\n\n<li><span class=\"string\">&#8216;Party!&#8217;<\/span><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>>>>\u00a0past\u00a0=\u00a0pendulum.now().subtract(minutes=2)<\/li>\n\n\n\n<li>>>>\u00a0past.diff_for_humans()<\/li>\n\n\n\n<li>>>>\u00a0<span class=\"string\">&#8216;2\u00a0minutes\u00a0ago&#8217;<\/span><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>>>>\u00a0delta\u00a0=\u00a0past\u00a0&#8211;\u00a0last_week<\/li>\n\n\n\n<li>>>>\u00a0delta.hours<\/li>\n\n\n\n<li>23<\/li>\n\n\n\n<li>>>>\u00a0delta.in_words(locale=<span class=\"string\">&#8216;en&#8217;<\/span>)<\/li>\n\n\n\n<li><span class=\"string\">&#8216;6\u00a0days\u00a023\u00a0hours\u00a058\u00a0minutes&#8217;<\/span><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0Proper\u00a0handling\u00a0<span class=\"keyword\">of<\/span>\u00a0datetime\u00a0normalization<\/li>\n\n\n\n<li>>>>\u00a0pendulum.<span class=\"keyword\">create<\/span>(2013,\u00a03,\u00a031,\u00a02,\u00a030,\u00a00,\u00a00,\u00a0<span class=\"string\">&#8216;Europe\/Paris&#8217;<\/span>)<\/li>\n\n\n\n<li><span class=\"string\">&#8216;2013-03-31T03:30:00+02:00&#8217;<\/span>\u00a0#\u00a02:30\u00a0does\u00a0<span class=\"op\">not<\/span>\u00a0exist\u00a0(Skipped\u00a0<span class=\"keyword\">time<\/span>)<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0Proper\u00a0handling\u00a0<span class=\"keyword\">of<\/span>\u00a0dst\u00a0transitions<\/li>\n\n\n\n<li>>>>\u00a0just_before\u00a0=\u00a0pendulum.<span class=\"keyword\">create<\/span>(2013,\u00a03,\u00a031,\u00a01,\u00a059,\u00a059,\u00a0999999,\u00a0<span class=\"string\">&#8216;Europe\/Paris&#8217;<\/span>)<\/li>\n\n\n\n<li><span class=\"string\">&#8216;2013-03-31T01:59:59.999999+01:00&#8217;<\/span><\/li>\n\n\n\n<li>>>>\u00a0just_before.<span class=\"keyword\">add<\/span>(microseconds=1)<\/li>\n\n\n\n<li><span class=\"string\">&#8216;2013-03-31T03:00:00+02:00&#8217;<\/span><\/li>\n<\/ol>\n\n\n\n<p><strong>4\u3001dateutil<\/strong><\/p>\n\n\n\n<p>dateutil \u662f datetime \u6807\u51c6\u5e93\u7684\u4e00\u4e2a\u6269\u5c55\u5e93\uff0c\u51e0\u4e4e\u652f\u6301\u4ee5\u6240\u6709\u5b57\u7b26\u4e32\u683c\u5f0f\u5bf9\u65e5\u671f\u8fdb\u884c\u901a\u7528\u89e3\u6790\uff0c\u65e5\u671f\u8ba1\u7b97\u7075\u6d3b\uff0c\u5185\u90e8\u6570\u636e\u66f4\u65b0\u53ca\u65f6\u3002<\/p>\n\n\n\n<p>Quick start<\/p>\n\n\n\n<ol class=\"wp-block-list dp-sql\">\n<li>>>>\u00a0<span class=\"keyword\">from<\/span>\u00a0dateutil.relativedelta\u00a0import\u00a0*<\/li>\n\n\n\n<li>>>>\u00a0<span class=\"keyword\">from<\/span>\u00a0dateutil.easter\u00a0import\u00a0*<\/li>\n\n\n\n<li>>>>\u00a0<span class=\"keyword\">from<\/span>\u00a0dateutil.rrule\u00a0import\u00a0*<\/li>\n\n\n\n<li>>>>\u00a0<span class=\"keyword\">from<\/span>\u00a0dateutil.parser\u00a0import\u00a0*<\/li>\n\n\n\n<li>>>>\u00a0<span class=\"keyword\">from<\/span>\u00a0datetime\u00a0import\u00a0*<\/li>\n\n\n\n<li>>>>\u00a0now\u00a0=\u00a0parse(<span class=\"string\">&#8220;Sat\u00a0Oct\u00a011\u00a017:13:46\u00a0UTC\u00a02003&#8221;<\/span>)<\/li>\n\n\n\n<li>>>>\u00a0today\u00a0=\u00a0now.<span class=\"keyword\">date<\/span>()<\/li>\n\n\n\n<li>>>>\u00a0<span class=\"func\">year<\/span>\u00a0=\u00a0rrule(YEARLY,dtstart=now,bymonth=8,bymonthday=13,byweekday=FR)[0].<span class=\"func\">year<\/span><\/li>\n\n\n\n<li>>>>\u00a0rdelta\u00a0=\u00a0relativedelta(easter(<span class=\"func\">year<\/span>),\u00a0today)<\/li>\n\n\n\n<li>>>>\u00a0print(<span class=\"string\">&#8220;Today\u00a0is:\u00a0%s&#8221;<\/span>\u00a0%\u00a0today)<\/li>\n\n\n\n<li>Today\u00a0<span class=\"keyword\">is<\/span>:\u00a02003-10-11<\/li>\n\n\n\n<li>>>>\u00a0print(<span class=\"string\">&#8220;Year\u00a0with\u00a0next\u00a0Aug\u00a013th\u00a0on\u00a0a\u00a0Friday\u00a0is:\u00a0%s&#8221;<\/span>\u00a0%\u00a0<span class=\"func\">year<\/span>)<\/li>\n\n\n\n<li><span class=\"func\">Year<\/span>\u00a0<span class=\"keyword\">with<\/span>\u00a0<span class=\"keyword\">next<\/span>\u00a0Aug\u00a013th\u00a0<span class=\"keyword\">on<\/span>\u00a0a\u00a0Friday\u00a0<span class=\"keyword\">is<\/span>:\u00a02004<\/li>\n\n\n\n<li>>>>\u00a0print(<span class=\"string\">&#8220;How\u00a0far\u00a0is\u00a0the\u00a0Easter\u00a0of\u00a0that\u00a0year:\u00a0%s&#8221;<\/span>\u00a0%\u00a0rdelta)<\/li>\n\n\n\n<li>How\u00a0far\u00a0<span class=\"keyword\">is<\/span>\u00a0the\u00a0Easter\u00a0<span class=\"keyword\">of<\/span>\u00a0that\u00a0<span class=\"func\">year<\/span>:\u00a0relativedelta(months=+6)<\/li>\n\n\n\n<li>>>>\u00a0print(<span class=\"string\">&#8220;And\u00a0the\u00a0Easter\u00a0of\u00a0that\u00a0year\u00a0is:\u00a0%s&#8221;<\/span>\u00a0%\u00a0(today+rdelta))<\/li>\n\n\n\n<li><span class=\"op\">And<\/span>\u00a0the\u00a0Easter\u00a0<span class=\"keyword\">of<\/span>\u00a0that\u00a0<span class=\"func\">year<\/span>\u00a0<span class=\"keyword\">is<\/span>:\u00a02004-04-11<\/li>\n<\/ol>\n\n\n\n<p><strong>5\u3001moment<\/strong><\/p>\n\n\n\n<p>\u7528\u4e8e\u5904\u7406\u65e5\u671f\/\u65f6\u95f4\u7684 Python \u5e93\uff0c\u8bbe\u8ba1\u7075\u611f\u540c\u6837\u662f\u6765\u6e90\u4e8e moment.js \u548c requests \uff0c\u8bbe\u8ba1\u7406\u5ff5\u6e90\u81ea Times Python \u6a21\u5757\u3002<\/p>\n\n\n\n<p>Usage<\/p>\n\n\n\n<ol class=\"wp-block-list dp-sql\">\n<li>import\u00a0moment<\/li>\n\n\n\n<li><span class=\"keyword\">from<\/span>\u00a0datetime\u00a0import\u00a0datetime<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Create<\/span>\u00a0a\u00a0moment\u00a0<span class=\"keyword\">from<\/span>\u00a0a\u00a0string<\/li>\n\n\n\n<li>moment.<span class=\"keyword\">date<\/span>(<span class=\"string\">&#8220;12-18-2012&#8221;<\/span>)<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Create<\/span>\u00a0a\u00a0moment\u00a0<span class=\"keyword\">with<\/span>\u00a0a\u00a0specified\u00a0strftime\u00a0format<\/li>\n\n\n\n<li>moment.<span class=\"keyword\">date<\/span>(<span class=\"string\">&#8220;12-18-2012&#8221;<\/span>,\u00a0<span class=\"string\">&#8220;%m-%d-%Y&#8221;<\/span>)<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0Moment\u00a0uses\u00a0the\u00a0awesome\u00a0dateparser\u00a0library\u00a0behind\u00a0the\u00a0scenes<\/li>\n\n\n\n<li>moment.<span class=\"keyword\">date<\/span>(<span class=\"string\">&#8220;2012-12-18&#8221;<\/span>)<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Create<\/span>\u00a0a\u00a0moment\u00a0<span class=\"keyword\">with<\/span>\u00a0words\u00a0<span class=\"op\">in<\/span>\u00a0it<\/li>\n\n\n\n<li>moment.<span class=\"keyword\">date<\/span>(<span class=\"string\">&#8220;December\u00a018,\u00a02012&#8221;<\/span>)<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Create<\/span>\u00a0a\u00a0moment\u00a0that\u00a0would\u00a0normally\u00a0be\u00a0pretty\u00a0hard\u00a0<span class=\"keyword\">to<\/span>\u00a0do<\/li>\n\n\n\n<li>moment.<span class=\"keyword\">date<\/span>(<span class=\"string\">&#8220;2\u00a0weeks\u00a0ago&#8221;<\/span>)<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Create<\/span>\u00a0a\u00a0future\u00a0moment\u00a0that\u00a0would\u00a0otherwise\u00a0be\u00a0really\u00a0difficult<\/li>\n\n\n\n<li>moment.<span class=\"keyword\">date<\/span>(<span class=\"string\">&#8220;2\u00a0weeks\u00a0from\u00a0now&#8221;<\/span>)<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Create<\/span>\u00a0a\u00a0moment\u00a0<span class=\"keyword\">from<\/span>\u00a0the\u00a0<span class=\"keyword\">current<\/span>\u00a0datetime<\/li>\n\n\n\n<li>moment.now()<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0The\u00a0moment\u00a0can\u00a0also\u00a0be\u00a0UTC-based<\/li>\n\n\n\n<li>moment.utcnow()<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Create<\/span>\u00a0a\u00a0moment\u00a0<span class=\"keyword\">with<\/span>\u00a0the\u00a0UTC\u00a0<span class=\"keyword\">time<\/span>\u00a0zone<\/li>\n\n\n\n<li>moment.utc(<span class=\"string\">&#8220;2012-12-18&#8221;<\/span>)<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Create<\/span>\u00a0a\u00a0moment\u00a0<span class=\"keyword\">from<\/span>\u00a0a\u00a0Unix\u00a0<span class=\"keyword\">timestamp<\/span><\/li>\n\n\n\n<li>moment.unix(1355875153626)<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Create<\/span>\u00a0a\u00a0moment\u00a0<span class=\"keyword\">from<\/span>\u00a0a\u00a0Unix\u00a0UTC\u00a0<span class=\"keyword\">timestamp<\/span><\/li>\n\n\n\n<li>moment.unix(1355875153626,\u00a0utc=<span class=\"keyword\">True<\/span>)<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Return<\/span>\u00a0a\u00a0datetime\u00a0instance<\/li>\n\n\n\n<li>moment.<span class=\"keyword\">date<\/span>(2012,\u00a012,\u00a018).<span class=\"keyword\">date<\/span><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0We\u00a0can\u00a0do\u00a0the\u00a0same\u00a0thing\u00a0<span class=\"keyword\">with<\/span>\u00a0the\u00a0UTC\u00a0method<\/li>\n\n\n\n<li>moment.utc(2012,\u00a012,\u00a018).<span class=\"keyword\">date<\/span><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Create<\/span>\u00a0<span class=\"op\">and<\/span>\u00a0format\u00a0a\u00a0moment\u00a0using\u00a0Moment.js\u00a0semantics<\/li>\n\n\n\n<li>moment.now().format(<span class=\"string\">&#8220;YYYY-M-D&#8221;<\/span>)<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Create<\/span>\u00a0<span class=\"op\">and<\/span>\u00a0format\u00a0a\u00a0moment\u00a0<span class=\"keyword\">with<\/span>\u00a0strftime\u00a0semantics<\/li>\n\n\n\n<li>moment.<span class=\"keyword\">date<\/span>(2012,\u00a012,\u00a018).strftime(<span class=\"string\">&#8220;%Y-%m-%d&#8221;<\/span>)<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Update<\/span>\u00a0your\u00a0moment&#8217;s\u00a0<span class=\"keyword\">time<\/span>\u00a0zone<\/li>\n\n\n\n<li>moment.<span class=\"keyword\">date<\/span>(datetime(2012,\u00a012,\u00a018)).locale(<span class=\"string\">&#8220;US\/Central&#8221;<\/span>).<span class=\"keyword\">date<\/span><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Alter<\/span>\u00a0the\u00a0moment&#8217;s\u00a0UTC\u00a0<span class=\"keyword\">time<\/span>\u00a0zone\u00a0<span class=\"keyword\">to<\/span>\u00a0a\u00a0different\u00a0<span class=\"keyword\">time<\/span>\u00a0zone<\/li>\n\n\n\n<li>moment.utcnow().timezone(<span class=\"string\">&#8220;US\/Eastern&#8221;<\/span>).<span class=\"keyword\">date<\/span><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"keyword\">Set<\/span>\u00a0<span class=\"op\">and<\/span>\u00a0<span class=\"keyword\">update<\/span>\u00a0your\u00a0moment<span class=\"string\">&#8216;s\u00a0time\u00a0zone.\u00a0For\u00a0instance,\u00a0I&#8217;<\/span>m\u00a0<span class=\"keyword\">on<\/span>\u00a0the<\/li>\n\n\n\n<li>#\u00a0west\u00a0coast,\u00a0but\u00a0want\u00a0NYC&#8217;s\u00a0<span class=\"keyword\">current<\/span>\u00a0<span class=\"keyword\">time<\/span>.<\/li>\n\n\n\n<li>moment.now().locale(<span class=\"string\">&#8220;US\/Pacific&#8221;<\/span>).timezone(<span class=\"string\">&#8220;US\/Eastern&#8221;<\/span>)<\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0<span class=\"op\">In<\/span>\u00a0<span class=\"keyword\">order<\/span>\u00a0<span class=\"keyword\">to<\/span>\u00a0manipulate\u00a0<span class=\"keyword\">time<\/span>\u00a0zones,\u00a0a\u00a0locale\u00a0must\u00a0always\u00a0be\u00a0<span class=\"keyword\">set<\/span>\u00a0<span class=\"op\">or<\/span><\/li>\n\n\n\n<li>#\u00a0you\u00a0must\u00a0be\u00a0using\u00a0UTC.<\/li>\n\n\n\n<li>moment.utcnow().timezone(<span class=\"string\">&#8220;US\/Eastern&#8221;<\/span>).<span class=\"keyword\">date<\/span><\/li>\n\n\n\n<li>\u00a0<\/li>\n\n\n\n<li>#\u00a0You\u00a0can\u00a0also\u00a0clone\u00a0a\u00a0moment,\u00a0so\u00a0the\u00a0original\u00a0stays\u00a0unaltered<\/li>\n\n\n\n<li>now\u00a0=\u00a0moment.utcnow().timezone(<span class=\"string\">&#8220;US\/Pacific&#8221;<\/span>)<\/li>\n\n\n\n<li>future\u00a0=\u00a0now.clone().<span class=\"keyword\">add<\/span>(weeks=2)<\/li>\n<\/ol>\n\n\n\n<p><strong>6\u3001When.py<\/strong><\/p>\n\n\n\n<p>\u63d0\u4f9b\u5bf9\u7528\u6237\u975e\u5e38\u53cb\u597d\u7684\u7279\u6027\u6765\u5e2e\u52a9\u6267\u884c\u5e38\u89c1\u7684\u65e5\u671f\u548c\u65f6\u95f4\u64cd\u4f5c\u3002<\/p>\n\n\n\n<p>Usage<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"791\" src=\"https:\/\/cn.hostease.com\/xueyuan\/wp-content\/uploads\/2017\/10\/Whenpy.png\" alt=\"\" class=\"wp-image-9731\" title=\"\" srcset=\"https:\/\/cn.hostease.com\/xueyuan\/wp-content\/uploads\/2017\/10\/Whenpy.png 640w, https:\/\/cn.hostease.com\/xueyuan\/wp-content\/uploads\/2017\/10\/Whenpy-243x300.png 243w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5728\u4f7f\u7528 Python \u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u9664\u4e86\u4f7f\u7528 datetime \u6807\u51c6\u5e93\u6765\u5904\u7406\u65f6\u95f4\u548c\u65e5\u671f\uff0c\u8fd8\u6709\u8bb8\u591a\u7b2c\u4e09\u65b9\u7684\u5f00\u6e90\u5e93 &#8230; <a title=\"\u5b9e\u7528\u53c8\u5f3a\u5927\uff0c6\u6b3ePython\u65f6\u95f4&#038;\u65e5\u671f\u5e93\u63a8\u8350\" class=\"read-more\" href=\"https:\/\/cn.hostease.com\/xueyuan\/jishu\/python\/%e5%ae%9e%e7%94%a8%e5%8f%88%e5%bc%ba%e5%a4%a7%ef%bc%8c6%e6%ac%bepython%e6%97%b6%e9%97%b4%e6%97%a5%e6%9c%9f%e5%ba%93%e6%8e%a8%e8%8d%90\/\" aria-label=\"\u9605\u8bfb \u5b9e\u7528\u53c8\u5f3a\u5927\uff0c6\u6b3ePython\u65f6\u95f4&#038;\u65e5\u671f\u5e93\u63a8\u8350\">\u9605\u8bfb\u66f4\u591a<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[654],"tags":[],"class_list":["post-2814","post","type-post","status-publish","format-standard","hentry","category-python"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/posts\/2814","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/comments?post=2814"}],"version-history":[{"count":2,"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/posts\/2814\/revisions"}],"predecessor-version":[{"id":9732,"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/posts\/2814\/revisions\/9732"}],"wp:attachment":[{"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/media?parent=2814"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/categories?post=2814"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/tags?post=2814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}