{"id":368,"date":"2017-12-02T10:50:31","date_gmt":"2017-12-02T10:50:31","guid":{"rendered":"http:\/\/datadigging.ru\/?p=368"},"modified":"2017-12-02T12:43:52","modified_gmt":"2017-12-02T12:43:52","slug":"%d1%84%d1%83%d0%bd%d0%ba%d1%86%d0%b8%d1%8f-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b2%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%b8-%d1%81%d1%83%d1%82%d0%be%d0%ba","status":"publish","type":"post","link":"https:\/\/datadigging.ru\/?p=368","title":{"rendered":"\u0424\u0443\u043d\u043a\u0446\u0438\u044f  \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u0443\u0442\u043e\u043a (Python)"},"content":{"rendered":"<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442: \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f, \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442:<\/p>\n<pre class=\"height-set:true height:300 lang:python decode:true\">import datetime\r\nimport time\r\n\r\ndef time_of_day_dict(dt=None, ts=None, tod_dict=None):\r\n    '''\r\n    \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 datetime (dt) \u0438\u043b\u0438 timestamp (ts), \u0438 \u0441\u043b\u043e\u0432\u0430\u0440\u044c tod_dict {\u0447\u0430\u0441 : \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438}\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0441\u0443\u0442\u043e\u043a. \r\n    \u041f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 - \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0441 \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0441\u0443\u0442\u043e\u043a.\r\n\r\n        \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: \r\n        {0: '\u043d\u043e\u0447\u044c', 1: '\u043d\u043e\u0447\u044c', 2: '\u043d\u043e\u0447\u044c',\r\n         3: '\u0440\u0430\u043d\u043d\u0435\u0435 \u0443\u0442\u0440\u043e', 4: '\u0440\u0430\u043d\u043d\u0435\u0435 \u0443\u0442\u0440\u043e', 5: '\u0440\u0430\u043d\u043d\u0435\u0435 \u0443\u0442\u0440\u043e',\r\n         6: '\u0443\u0442\u0440\u043e', 7: '\u0443\u0442\u0440\u043e', 8: '\u0443\u0442\u0440\u043e',\r\n         9: '\u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0434\u043d\u044f', 10: '\u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0434\u043d\u044f', 11: '\u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0434\u043d\u044f',\r\n         12: '\u043e\u0431\u0435\u0434', 13: '\u043e\u0431\u0435\u0434', 14: '\u043e\u0431\u0435\u0434',\r\n         15: '\u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0435\u0434\u0430', 16: '\u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0435\u0434\u0430', 17: '\u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0435\u0434\u0430',\r\n         18: '\u0432\u0435\u0447\u0435\u0440', 19: '\u0432\u0435\u0447\u0435\u0440', 20: '\u0432\u0435\u0447\u0435\u0440',\r\n         21: '\u043f\u043e\u0437\u0434\u043d\u0438\u0439 \u0432\u0435\u0447\u0435\u0440', 22: '\u043f\u043e\u0437\u0434\u043d\u0438\u0439 \u0432\u0435\u0447\u0435\u0440', 23: '\u043f\u043e\u0437\u0434\u043d\u0438\u0439 \u0432\u0435\u0447\u0435\u0440' }\r\n\r\n    E\u0441\u043b\u0438 \u0447\u0430\u0441 \u043d\u0435 \u043e\u0442\u0440\u0430\u0436\u0435\u043d \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u0435, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 None\r\n    \u0422\u0440\u0435\u0431\u0443\u0435\u0442 import datetime\r\n    N.B. \u0444-\u044f \u0432 2-3 \u0440\u0430\u0437\u0430 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u0444-\u044f time_of_day()\r\n    '''\r\n\r\n    # \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f\r\n    if tod_dict:\r\n        pass\r\n    else:\r\n        tod_dict = {0: '\u043d\u043e\u0447\u044c', 1: '\u043d\u043e\u0447\u044c', 2: '\u043d\u043e\u0447\u044c',\r\n                    3: '\u0440\u0430\u043d\u043d\u0435\u0435 \u0443\u0442\u0440\u043e', 4: '\u0440\u0430\u043d\u043d\u0435\u0435 \u0443\u0442\u0440\u043e', 5: '\u0440\u0430\u043d\u043d\u0435\u0435 \u0443\u0442\u0440\u043e',\r\n                    6: '\u0443\u0442\u0440\u043e', 7: '\u0443\u0442\u0440\u043e', 8: '\u0443\u0442\u0440\u043e',\r\n                    9: '\u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0434\u043d\u044f', 10: '\u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0434\u043d\u044f', 11: '\u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0434\u043d\u044f',\r\n                    12: '\u043e\u0431\u0435\u0434', 13: '\u043e\u0431\u0435\u0434', 14: '\u043e\u0431\u0435\u0434',\r\n                    15: '\u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0435\u0434\u0430', 16: '\u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0435\u0434\u0430', 17: '\u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0435\u0434\u0430',\r\n                    18: '\u0432\u0435\u0447\u0435\u0440', 19: '\u0432\u0435\u0447\u0435\u0440', 20: '\u0432\u0435\u0447\u0435\u0440',\r\n                    21: '\u043f\u043e\u0437\u0434\u043d\u0438\u0439 \u0432\u0435\u0447\u0435\u0440', 22: '\u043f\u043e\u0437\u0434\u043d\u0438\u0439 \u0432\u0435\u0447\u0435\u0440', 23: '\u043f\u043e\u0437\u0434\u043d\u0438\u0439 \u0432\u0435\u0447\u0435\u0440'}\r\n\r\n    # \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438\r\n    if dt:\r\n        if isinstance(dt, datetime.datetime):\r\n            dt = dt\r\n        else:\r\n            print('\u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 dt: %s \\n \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442 datetime.datetime' % (type(dt)))\r\n            return None\r\n    elif ts:\r\n        if isinstance(ts, (int, float)):\r\n            if ts &gt; 0:\r\n                dt = datetime.datetime.fromtimestamp(ts)\r\n                print(dt.ctime())\r\n            else:\r\n                print('\u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 ts \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e')\r\n                return None\r\n        else:\r\n            print('\u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 ts: %s \\n \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 int \u0438\u043b\u0438 float' % (type(ts)))\r\n            return None\r\n    else:\r\n        dt = datetime.datetime.now()\r\n    h = dt.hour\r\n\r\n    # \u043f\u043e\u0434\u0431\u043e\u0440\r\n    if h in tod_dict:\r\n        tod = tod_dict[h]\r\n        return tod\r\n    else:\r\n        print('\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u0435')\r\n        return None\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>\u0412\u0442\u043e\u0440\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043a\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u043d\u0430\u0434\u043e ))<\/p>\n<pre class=\"height-set:true height:300 lang:python decode:true  \">def time_of_day(dt=None, ts=None, tod_dict=None):\r\n    '''\r\n    \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 datetime (dt) \u0438\u043b\u0438 timestamp (ts), \u0438 \u0441\u043b\u043e\u0432\u0430\u0440\u044c tod_dict \r\n    {\u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 : \u0447\u0430\u0441 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f(\u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e)}\r\n\r\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0441\u0443\u0442\u043e\u043a \r\n    \u041f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 - \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0441 \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0441\u0443\u0442\u043e\u043a.\r\n\r\n        \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: \r\n        {'\u043d\u043e\u0447\u044c' : 3, '\u0440\u0430\u043d\u043d\u0435\u0435 \u0443\u0442\u0440\u043e' : 6, '\u0443\u0442\u0440\u043e' : 9, '\u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0434\u043d\u044f' : 12,\r\n         '\u043e\u0431\u0435\u0434' : 15, '\u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0435\u0434\u0430' : 18, '\u0432\u0435\u0447\u0435\u0440' : 21, '\u043f\u043e\u0437\u0434\u043d\u0438\u0439 \u0432\u0435\u0447\u0435\u0440' : 24, }\r\n\r\n    \u0415\u0441\u043b\u0438 \u0447\u0430\u0441 \u043d\u0435 \u043e\u0442\u0440\u0430\u0436\u0435\u043d \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u0435, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 None\r\n    \u0422\u0440\u0435\u0431\u0443\u0435\u0442 import datetime\r\n    '''\r\n\r\n    # \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f\r\n    if tod_dict:\r\n        pass\r\n    else:\r\n        tod_dict = {'\u043d\u043e\u0447\u044c': 3, '\u0440\u0430\u043d\u043d\u0435\u0435 \u0443\u0442\u0440\u043e': 6, '\u0443\u0442\u0440\u043e': 9, '\u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0434\u043d\u044f': 12,\r\n                    '\u043e\u0431\u0435\u0434': 15, '\u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0435\u0434\u0430': 18, '\u0432\u0435\u0447\u0435\u0440': 21, '\u043f\u043e\u0437\u0434\u043d\u0438\u0439 \u0432\u0435\u0447\u0435\u0440': 24, }\r\n    sorted_tod = sorted(tod_dict.items(), key=lambda x: x[1], reverse=False)\r\n    # print(sorted_tod)\r\n\r\n    # \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438\r\n    if dt:\r\n        if isinstance(dt, datetime.datetime):\r\n            dt = dt\r\n        else:\r\n            print('\u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 dt: %s \\n \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442 datetime.datetime' % (type(dt)))\r\n            return None\r\n    elif ts:\r\n        if isinstance(ts, (int, float)):\r\n            if ts &gt; 0:\r\n                dt = datetime.datetime.fromtimestamp(ts)\r\n                print(dt.ctime())\r\n            else:\r\n                print('\u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 ts \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e')\r\n                return None\r\n\r\n        else:\r\n            print('\u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 ts: %s \\n \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 int \u0438\u043b\u0438 float' % (type(ts)))\r\n            return None\r\n    else:\r\n        dt = datetime.datetime.now()\r\n    h = dt.hour\r\n\r\n    # \u043f\u043e\u0434\u0431\u043e\u0440\r\n    for time in sorted_tod:\r\n        if h &lt;= time[1]:\r\n            tod = time[0]\r\n            return tod\r\n    print('\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u0435')\r\n    return None<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442: \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f, \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442: import datetime import time def time_of_day_dict(dt=None, ts=None, tod_dict=None): &#8221;&#8217; \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 datetime (dt) \u0438\u043b\u0438 timestamp (ts), \u0438 \u0441\u043b\u043e\u0432\u0430\u0440\u044c tod_dict {\u0447\u0430\u0441 : \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438} \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0441\u0443\u0442\u043e\u043a. \u041f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 &#8211; &hellip; <a href=\"https:\/\/datadigging.ru\/?p=368\">\u0427\u0438\u0442\u0430\u0442\u044c \u0434\u0430\u043b\u0435\u0435 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"aside","meta":{"_exactmetrics_skip_tracking":false,"footnotes":""},"categories":[1],"tags":[9,16,15,8],"class_list":["post-368","post","type-post","status-publish","format-aside","hentry","category-uncategorized","tag-python","tag-16","tag-15","tag-8","post_format-post-format-aside"],"_links":{"self":[{"href":"https:\/\/datadigging.ru\/index.php?rest_route=\/wp\/v2\/posts\/368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/datadigging.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/datadigging.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/datadigging.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/datadigging.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=368"}],"version-history":[{"count":3,"href":"https:\/\/datadigging.ru\/index.php?rest_route=\/wp\/v2\/posts\/368\/revisions"}],"predecessor-version":[{"id":385,"href":"https:\/\/datadigging.ru\/index.php?rest_route=\/wp\/v2\/posts\/368\/revisions\/385"}],"wp:attachment":[{"href":"https:\/\/datadigging.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/datadigging.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=368"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/datadigging.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}