日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python -- time datetime小結(jié)

系統(tǒng) 2142 0

[TOC]

python -- time datetime小結(jié)

time

基本

          
            import time
time.time()
Out[3]: 1561107970.0175698 # 時間戳

time.localtime()
Out[4]: time.struct_time(tm_year=2019, tm_mon=6, tm_mday=21, tm_hour=17, tm_min=6, tm_sec=20, tm_wday=4, tm_yday=172, tm_isdst=0) # 本地時間帶格式 time.struct_time

time.gmtime()
Out[5]: time.struct_time(tm_year=2019, tm_mon=6, tm_mday=21, tm_hour=9, tm_min=6, tm_sec=35, tm_wday=4, tm_yday=172, tm_isdst=0)# UTC時間帶格式 time.struct_time

time.localtime().tm_yday
Out[6]: 172 # time.struct_time可以獲取你想要的東西
          
        

轉(zhuǎn)換 -- 時間戳和struct time

          
            time_stamp = time.time()
local_struct_time = time.localtime(time_stamp) # 時間戳轉(zhuǎn)struct time
time.mktime(local_struct_time)
Out[13]: 1561108315.0 # struct time 轉(zhuǎn)時間戳
          
        

轉(zhuǎn)換 -- 字符串和struct time

          
            time.strftime("%Y-%m-%d, %H:%M:%S, %w", local_struct_time)
Out[16]: '2019-06-21, 17:11:55, 5'
==================================================================================
time.strptime('2019-06-21, 17:11:55, 5', "%Y-%m-%d, %H:%M:%S, %w")
Out[17]: time.struct_time(tm_year=2019, tm_mon=6, tm_mday=21, tm_hour=17, tm_min=11, tm_sec=55, tm_wday=4, tm_yday=172, tm_isdst=-1)
          
        

轉(zhuǎn)換 -- 格式化字符串和時間戳 -- 不可以

          
            time.strftime("%Y-%m-%d, %H:%M:%S, %w", time.time())
Traceback (most recent call last):
  File "C:\Users\zhicfeng\Envs\etisalat\lib\site-packages\IPython\core\interactiveshell.py", line 2910, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "
            
              ", line 1, in 
              
                
    time.strftime("%Y-%m-%d, %H:%M:%S, %w", time.time())
TypeError: Tuple or struct_time argument required
              
            
          
        

datetime

The time module is written in C, and is mostly interface to low-level operating system functions. The datetime module is written in Python.

基本

類關(guān)系圖

          
            object
    timedelta # 1. 日期和時間差值計算 2. timezone的第一個參數(shù)
    tzinfo # 抽象類
        timezone # datetime會用到
    time # 沒啥大用
    date # 沒啥大用
        datetime # 常用

          
        

timedelta 和 timezone

          
            class timedelta:
    def __new__(cls, days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0):
        pass
=======================================================================
dongbaqu = timedelta(hours=8) # 東八區(qū)
timezone(dongbaqu)
datetime.datetime.now(timezone.utc) # utc時間
Out[39]: datetime.datetime(2019, 6, 21, 9, 46, 30, 593920, tzinfo=datetime.timezone.utc)
datetime.datetime.now(timezone(dongbaqu)) # 東八區(qū)時間
Out[40]: datetime.datetime(2019, 6, 21, 17, 46, 34, 817637, tzinfo=datetime.timezone(datetime.timedelta(0, 28800)))
          
        

datetime

          
            datetime.datetime.now(timezone(dongbaqu)).year
Out[41]: 2019
=======================================================================
datetime.datetime(2018,12,12,12,12,12)
Out[51]: datetime.datetime(2018, 12, 12, 12, 12, 12)
          
        

轉(zhuǎn)換 -- datetime和字符串

          
            datetime.datetime.now(timezone(dongbaqu)).strftime('%a, %d %b %Y %H:%M:%S +0000')
Out[42]: 'Fri, 21 Jun 2019 17:49:35 +0000'

datetime.datetime.strptime('Fri, 21 Jun 2019 17:49:35 +0000', '%a, %d %b %Y %H:%M:%S +0000')
Out[44]: datetime.datetime(2019, 6, 21, 17, 49, 35)
          
        

轉(zhuǎn)換 -- datetime和時間戳

          
            datetime.datetime.now().timestamp()
Out[49]: 1561110815.027726

datetime.datetime.fromtimestamp(1561110815.027726)
Out[52]: datetime.datetime(2019, 6, 21, 17, 53, 35, 27726)
          
        

時間計算

          
            datetime.datetime(2019, 6, 21, 17, 53, 35, 27726) + datetime.timedelta(hours=25)
Out[54]: datetime.datetime(2019, 6, 22, 18, 53, 35, 27726)
          
        

django 中的timezone

          
            from django.utils import timezone
          
        

django 中提供了 timezone

django settings 中提供了 USE_TZ, TIMEZONE等參數(shù).

個人不建議使用django中的timezone -- 會讓代碼變亂. 這些信息是給框架使用的. -- 譬如 serializers.DateTimeField

最佳實踐

后端和數(shù)據(jù)庫統(tǒng)一使用UTC計時,并將時區(qū)傳給前端.由前端負責(zé)顯示.

          
            datetime.datetime.now(timezone.utc) # utc時間
Out[39]: datetime.datetime(2019, 6, 21, 9, 46, 30, 593920, tzinfo=datetime.timezone.utc)
          
        

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 木兰县| 平果县| 那坡县| 思茅市| 普兰店市| 扬州市| 新田县| 类乌齐县| 伊通| 嘉义市| 黑河市| 农安县| 钟山县| 繁峙县| 凤山市| 玉林市| 丽水市| 霸州市| 嘉黎县| 博白县| 尼木县| 二连浩特市| 石狮市| 皮山县| 安徽省| 鱼台县| 莎车县| 博野县| 永济市| 江陵县| 会理县| 宁蒗| 通州区| 禹州市| 仁寿县| 昆明市| 凤庆县| 肇州县| 东宁县| 玉林市| 多伦县|