Thời gian thời gian () có nghĩa là gì trong python?

Mô-đun Python

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2 cung cấp nhiều cách biểu diễn thời gian trong mã, chẳng hạn như đối tượng, số và chuỗi. Nó cũng cung cấp các chức năng khác ngoài việc biểu thị thời gian, chẳng hạn như chờ trong khi thực thi mã và đo lường hiệu quả của mã của bạn

Bài viết này sẽ hướng dẫn bạn các hàm và đối tượng được sử dụng phổ biến nhất trong

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2

Đến cuối bài viết này, bạn sẽ có thể

  • Hiểu các khái niệm cốt lõi cốt lõi khi làm việc với ngày và giờ, chẳng hạn như kỷ nguyên, múi giờ và giờ mùa hè
  • Thể hiện thời gian trong mã bằng cách sử dụng số float, bộ dữ liệu và
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    4
  • Chuyển đổi giữa các biểu diễn thời gian khác nhau
  • Tạm dừng thực thi luồng
  • Đo hiệu suất mã bằng cách sử dụng
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    5

Bạn sẽ bắt đầu bằng cách tìm hiểu cách sử dụng số dấu phẩy động để biểu thị thời gian

Tiền thưởng miễn phí. Nhấp vào đây để nhận Bảng cheat Python miễn phí của chúng tôi, trang này cho bạn biết kiến ​​thức cơ bản về Python 3, như làm việc với các kiểu dữ liệu, từ điển, danh sách và hàm Python

Xử lý thời gian Python bằng giây

Một trong những cách bạn có thể quản lý khái niệm thời gian Python trong ứng dụng của mình là sử dụng số dấu phẩy động biểu thị số giây đã trôi qua kể từ khi bắt đầu một kỷ nguyên—tức là kể từ một điểm bắt đầu nhất định

Hãy tìm hiểu sâu hơn về ý nghĩa của điều đó, tại sao nó hữu ích và cách bạn có thể sử dụng nó để triển khai logic, dựa trên thời gian Python, trong ứng dụng của bạn

Loại bỏ các quảng cáo

kỷ nguyên

Bạn đã học trong phần trước rằng bạn có thể quản lý thời gian trong Python bằng một số dấu phẩy động biểu thị thời gian đã trôi qua kể từ khi bắt đầu một kỷ nguyên

Merriam-Webster định nghĩa một kỷ nguyên là

  • Một thời điểm cố định mà từ đó một chuỗi năm được tính
  • Một hệ thống ký hiệu thời gian được tính toán từ một ngày nhất định làm cơ sở

Khái niệm quan trọng cần nắm bắt ở đây là khi xử lý thời gian trong Python, bạn đang xem xét một khoảng thời gian được xác định bởi điểm bắt đầu. Trong điện toán, bạn gọi điểm bắt đầu này là kỷ nguyên

Khi đó, kỷ nguyên là điểm khởi đầu mà dựa vào đó bạn có thể đo thời gian trôi qua

Ví dụ: nếu bạn xác định kỷ nguyên là nửa đêm ngày 1 tháng 1 năm 1970 UTC—kỷ nguyên như được xác định trên Windows và hầu hết các hệ thống UNIX—thì bạn có thể biểu thị nửa đêm ngày 2 tháng 1 năm 1970 UTC là

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
6 giây kể từ kỷ nguyên

Điều này là do có 60 giây trong một phút, 60 phút trong một giờ và 24 giờ trong một ngày. Ngày 2 tháng 1 năm 1970 UTC chỉ sau kỷ nguyên một ngày, vì vậy bạn có thể áp dụng phép toán cơ bản để đi đến kết quả đó

>>>

>>> 60 * 60 * 24
86400

Cũng cần lưu ý rằng bạn vẫn có thể biểu thị thời gian trước kỷ nguyên. Số giây sẽ chỉ là số âm

Ví dụ: bạn sẽ biểu thị nửa đêm ngày 31 tháng 12 năm 1969 theo giờ UTC [sử dụng kỷ nguyên của ngày 1 tháng 1 năm 1970] dưới dạng

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
7 giây

Mặc dù ngày 1 tháng 1 năm 1970 UTC là một kỷ nguyên phổ biến, nhưng nó không phải là kỷ nguyên duy nhất được sử dụng trong máy tính. Trên thực tế, các hệ điều hành, hệ thống tệp và API khác nhau đôi khi sử dụng các kỷ nguyên khác nhau

Như bạn đã thấy trước đây, các hệ thống UNIX xác định kỷ nguyên là ngày 1 tháng 1 năm 1970. Mặt khác, API Win32 xác định kỷ nguyên là ngày 1 tháng 1 năm 1601

Bạn có thể sử dụng

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
8 để xác định kỷ nguyên hệ thống của mình

>>>

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]

Bạn sẽ tìm hiểu về

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
9 và
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 trong suốt quá trình của bài viết này. Hiện tại, chỉ cần biết rằng bạn có thể sử dụng
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2 để khám phá kỷ nguyên bằng chức năng này

Bây giờ bạn đã hiểu thêm về cách đo thời gian tính bằng giây bằng cách sử dụng kỷ nguyên, hãy xem mô-đun

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2 của Python để xem nó cung cấp những chức năng nào giúp bạn làm như vậy

Thời gian Python tính bằng giây dưới dạng số dấu phẩy động

Đầu tiên,

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
33 trả về số giây đã trôi qua kể từ kỷ nguyên. Giá trị trả về là một số dấu phẩy động để tính giây phân số

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4

Số bạn nhận được trên máy của mình có thể rất khác vì điểm tham chiếu được coi là kỷ nguyên có thể rất khác

Đọc thêm. Trăn 3. 7 được giới thiệu , trả về một giá trị số nguyên biểu thị cùng thời gian đã trôi qua kể từ kỷ nguyên, nhưng tính bằng nano giây thay vì giây

Đo thời gian tính bằng giây rất hữu ích vì một số lý do

  • Bạn có thể sử dụng số float để tính chênh lệch giữa hai thời điểm
  • Một float có thể dễ dàng tuần tự hóa, nghĩa là nó có thể được lưu trữ để truyền dữ liệu và xuất hiện nguyên vẹn ở phía bên kia

Tuy nhiên, đôi khi bạn có thể muốn xem thời gian hiện tại được biểu thị dưới dạng một chuỗi. Để làm như vậy, bạn có thể chuyển số giây bạn nhận được từ

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
35 sang
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
36

Loại bỏ các quảng cáo

Thời gian Python tính bằng giây dưới dạng Chuỗi biểu thị Giờ địa phương

Như bạn đã thấy trước đây, bạn có thể muốn chuyển đổi thời gian Python, được biểu thị bằng số giây đã trôi qua kể từ kỷ nguyên, thành một chuỗi. Bạn có thể làm như vậy bằng cách sử dụng

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
37

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'

Tại đây, bạn đã ghi thời gian hiện tại tính bằng giây vào biến

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
38, sau đó chuyển
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
38 làm đối số cho
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
37, biến này trả về một chuỗi biểu diễn cùng thời điểm đó

Chi tiết kỹ thuật. Đối số, biểu thị số giây kể từ kỷ nguyên, là tùy chọn theo định nghĩa của

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
37. Nếu bạn không truyền đối số, thì theo mặc định,
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
37 sẽ sử dụng giá trị trả về là
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
35. Vì vậy, bạn có thể đơn giản hóa ví dụ trên

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
3

Biểu diễn chuỗi thời gian, còn được gọi là dấu thời gian, được trả về bởi

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
37 được định dạng theo cấu trúc sau

  1. Ngày trong tuần.
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    75 [
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    76]
  2. Thang của năm.
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    77 [
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    78]
  3. Ngày trong tháng.
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    79
  4. Giờ, phút và giây sử dụng ký hiệu đồng hồ 24 giờ.
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    20
  5. Năm.
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    21

Ví dụ trước hiển thị dấu thời gian của một thời điểm cụ thể được chụp từ máy tính ở khu vực Nam Trung Bộ của Hoa Kỳ. Tuy nhiên, giả sử bạn sống ở Sydney, Úc và bạn đã thực hiện cùng một lệnh ngay lập tức

Thay vì đầu ra ở trên, bạn sẽ thấy như sau

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
7

Lưu ý rằng các phần

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
22,
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
23 và
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
24 của dấu thời gian khác với ví dụ đầu tiên

Các đầu ra này khác nhau vì dấu thời gian được trả về bởi

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
37 phụ thuộc vào vị trí địa lý của bạn

Ghi chú. Mặc dù khái niệm về múi giờ có liên quan đến vị trí thực tế của bạn, nhưng bạn có thể sửa đổi điều này trong cài đặt máy tính của mình mà không cần di chuyển thực tế

Biểu thị thời gian phụ thuộc vào vị trí thực tế của bạn được gọi là giờ địa phương và sử dụng khái niệm gọi là múi giờ

Ghi chú. Vì giờ địa phương có liên quan đến ngôn ngữ của bạn, nên dấu thời gian thường tính đến các chi tiết dành riêng cho ngôn ngữ đó, chẳng hạn như thứ tự của các thành phần trong chuỗi và bản dịch của chữ viết tắt ngày và tháng.

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
37 bỏ qua những chi tiết này

Hãy tìm hiểu sâu hơn một chút về khái niệm múi giờ để bạn có thể hiểu rõ hơn về cách biểu diễn thời gian trong Python

Hiểu múi giờ

Múi giờ là một khu vực trên thế giới tuân theo thời gian chuẩn hóa. Các múi giờ được xác định bằng phần bù của chúng từ Giờ phối hợp quốc tế [UTC] và, có khả năng, bao gồm cả thời gian tiết kiệm ánh sáng ban ngày [mà chúng tôi sẽ đề cập chi tiết hơn ở phần sau của bài viết này]

Sự thật thú vị. Nếu bạn là người nói tiếng Anh bản xứ, bạn có thể thắc mắc tại sao từ viết tắt của “Giờ phối hợp quốc tế” lại là UTC chứ không phải là CUT rõ ràng hơn. Tuy nhiên, nếu bạn là người nói tiếng Pháp bản ngữ, bạn sẽ gọi nó là “Temps Universel Coordonné”, gợi ý một cách viết tắt khác. TÚC

Cuối cùng, là chữ viết tắt chính thức để, bất kể ngôn ngữ nào, chữ viết tắt sẽ giống nhau

UTC và Múi giờ

UTC là tiêu chuẩn thời gian mà tất cả các giờ hiện hành của thế giới được đồng bộ hóa [hoặc phối hợp]. Bản thân nó không phải là múi giờ mà là một tiêu chuẩn siêu việt xác định múi giờ là gì

Thời gian UTC được đo chính xác bằng thời gian thiên văn, đề cập đến vòng quay của Trái đất và đồng hồ nguyên tử

Các múi giờ sau đó được xác định bằng phần bù của chúng từ UTC. Ví dụ: ở Bắc và Nam Mỹ, Múi giờ Trung tâm [CT] chậm hơn UTC năm hoặc sáu giờ và do đó, sử dụng ký hiệu UTC-5. 00 hoặc UTC-6. 00

Mặt khác, Sydney, Australia, thuộc Múi giờ Miền Đông Australia [AET], sớm hơn UTC mười hoặc mười một giờ [UTC+10. 00 hoặc UTC+11. 00]

Sự khác biệt này [UTC-6. 00 đến UTC+10. 00] là lý do cho sự khác biệt mà bạn đã quan sát thấy trong hai kết quả đầu ra từ

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
37 trong các ví dụ trước

  • Giờ Miền Trung [CT].
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    28
  • Giờ Miền Đông Úc [AET].
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    29

Các thời điểm này cách nhau chính xác mười sáu giờ, phù hợp với chênh lệch múi giờ được đề cập ở trên

Bạn có thể thắc mắc tại sao CT có thể chậm hơn UTC năm hoặc sáu giờ hoặc tại sao AET có thể sớm hơn mười hoặc mười một giờ. Lý do cho điều này là một số khu vực trên thế giới, bao gồm các phần của các múi giờ này, tuân theo giờ mùa hè

Loại bỏ các quảng cáo

Giờ tiết kiệm ánh sáng ban ngày

Các tháng mùa hè thường trải qua nhiều giờ ban ngày hơn các tháng mùa đông. Do đó, một số khu vực áp dụng giờ tiết kiệm ánh sáng ban ngày [DST] trong mùa xuân và mùa hè để tận dụng tốt hơn các giờ ban ngày đó

Đối với những nơi quan sát DST, đồng hồ của họ sẽ nhảy nhanh hơn một giờ vào đầu mùa xuân [thực tế là mất một giờ]. Sau đó, vào mùa thu, đồng hồ sẽ được đặt lại theo giờ tiêu chuẩn

Các chữ cái S và D biểu thị thời gian tiêu chuẩn và thời gian tiết kiệm ánh sáng ban ngày trong ký hiệu múi giờ

  • Giờ chuẩn miền trung [CST]
  • Giờ ban ngày miền Đông Úc [AEDT]

Khi bạn biểu thị thời gian dưới dạng dấu thời gian theo giờ địa phương, điều quan trọng là luôn xem xét liệu DST có được áp dụng hay không

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
37 tài khoản cho thời gian tiết kiệm ánh sáng ban ngày. Vì vậy, chênh lệch đầu ra được liệt kê trước đây sẽ chính xác hơn như sau

  • Giờ chuẩn miền Trung [CST].
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    28
  • Giờ ban ngày miền Đông Úc [AEDT].
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    29

Xử lý thời gian Python bằng cấu trúc dữ liệu

Giờ đây, bạn đã nắm chắc nhiều khái niệm cơ bản về thời gian bao gồm kỷ nguyên, múi giờ và UTC, hãy xem thêm các cách khác để biểu thị thời gian bằng cách sử dụng mô-đun Python

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2

Thời gian Python dưới dạng Tuple

Thay vì sử dụng một số để biểu thị thời gian trong Python, bạn có thể sử dụng một cấu trúc dữ liệu nguyên thủy khác. một tuple

Bộ dữ liệu cho phép bạn quản lý thời gian dễ dàng hơn một chút bằng cách trừu tượng hóa một số dữ liệu và làm cho nó dễ đọc hơn

Khi bạn biểu diễn thời gian dưới dạng một bộ dữ liệu, mỗi phần tử trong bộ dữ liệu của bạn tương ứng với một phần tử thời gian cụ thể

  1. Năm
  2. Tháng ở dạng số nguyên, nằm trong khoảng từ 1 [tháng 1] đến 12 [tháng 12]
  3. Ngày trong tháng
  4. Giờ dưới dạng số nguyên, nằm trong khoảng từ 0 [12 A. M. ] và 23 [11 P. M. ]
  5. Phút
  6. Thứ hai
  7. Ngày trong tuần dưới dạng số nguyên, nằm trong khoảng từ 0 [Thứ Hai] đến 6 [Chủ nhật]
  8. Ngày trong năm
  9. Giờ tiết kiệm ánh sáng ban ngày dưới dạng số nguyên với các giá trị sau
    • >>> from time import time, ctime
      >>> t = time[]
      >>> ctime[t]
      'Mon Feb 25 19:11:59 2019'
      
      74 là giờ mùa hè
    • >>> from time import time, ctime
      >>> t = time[]
      >>> ctime[t]
      'Mon Feb 25 19:11:59 2019'
      
      75 là giờ tiêu chuẩn
    • >>> from time import time, ctime
      >>> t = time[]
      >>> ctime[t]
      'Mon Feb 25 19:11:59 2019'
      
      76 không rõ

Sử dụng các phương pháp bạn đã học, bạn có thể biểu thị cùng một thời gian Python theo hai cách khác nhau

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2

Trong trường hợp này, cả

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
38 và
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
78 đều đại diện cho cùng một thời gian, nhưng bộ cung cấp giao diện dễ đọc hơn để làm việc với các thành phần thời gian

Chi tiết kỹ thuật. Trên thực tế, nếu bạn nhìn vào thời gian Python được đại diện bởi

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
78 tính bằng giây [bạn sẽ thấy cách thực hiện ở phần sau của bài viết này], bạn sẽ thấy rằng nó phân giải thành
>>> 60 * 60 * 24
86400
40 thay vì
>>> 60 * 60 * 24
86400
41

Điều này là do bộ dữ liệu không có cách biểu thị giây phân số

Mặc dù bộ dữ liệu cung cấp giao diện dễ quản lý hơn để làm việc với thời gian Python, nhưng có một đối tượng thậm chí còn tốt hơn.

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4

Loại bỏ các quảng cáo

Thời gian Python như một đối tượng

Vấn đề với cấu trúc bộ dữ liệu là nó vẫn trông giống như một dãy số, mặc dù nó được tổ chức tốt hơn so với một số đơn, dựa trên giây

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 cung cấp giải pháp cho vấn đề này bằng cách sử dụng
>>> 60 * 60 * 24
86400
44, từ mô-đun
>>> 60 * 60 * 24
86400
45 của Python, để liên kết chuỗi số của bộ dữ liệu với các mã định danh hữu ích

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
7

Chi tiết kỹ thuật. Nếu bạn đến từ một ngôn ngữ khác, các thuật ngữ

>>> 60 * 60 * 24
86400
46 và
>>> 60 * 60 * 24
86400
47 có thể đối lập với nhau

Trong Python, không có kiểu dữ liệu nào được gọi là

>>> 60 * 60 * 24
86400
46. Thay vào đó, mọi thứ là một đối tượng

Tuy nhiên, tên

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 có nguồn gốc từ thư viện thời gian dựa trên C trong đó kiểu dữ liệu thực sự là một
>>> 60 * 60 * 24
86400
46

Trên thực tế, mô-đun

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2 của Python, được triển khai trong C, sử dụng trực tiếp
>>> 60 * 60 * 24
86400
46 này bằng cách bao gồm tệp tiêu đề
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
3

Giờ đây, bạn có thể truy cập các phần tử cụ thể của

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
4 bằng cách sử dụng tên của thuộc tính thay vì chỉ mục

>>>

>>> 60 * 60 * 24
86400
4

Ngoài khả năng đọc và khả năng sử dụng của

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4, điều quan trọng cần biết là vì đây là kiểu trả về của nhiều hàm trong mô-đun Python
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2

Chuyển đổi thời gian Python tính bằng giây thành một đối tượng

Bây giờ bạn đã thấy ba cách chính để làm việc với thời gian trong Python, bạn sẽ tìm hiểu cách chuyển đổi giữa các loại dữ liệu thời gian khác nhau

Việc chuyển đổi giữa các loại dữ liệu thời gian phụ thuộc vào việc thời gian là UTC hay giờ địa phương

Giờ phối hợp quốc tế [UTC]

Kỷ nguyên sử dụng UTC cho định nghĩa của nó thay vì múi giờ. Do đó, số giây đã trôi qua kể từ khi kỷ nguyên không thay đổi tùy thuộc vào vị trí địa lý của bạn

Tuy nhiên, điều tương tự không thể nói về

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4. Biểu diễn đối tượng của thời gian Python có thể hoặc không tính đến múi giờ của bạn

Có hai cách để chuyển đổi số float đại diện cho giây thành

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4

  1. UTC
  2. Giờ địa phương

Để chuyển đổi thời gian trôi nổi của Python thành

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 dựa trên UTC, mô-đun Python
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2 cung cấp một hàm có tên là
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
9

Bạn đã thấy

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
9 được sử dụng một lần trước đây trong bài viết này

>>>

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]

Bạn đã sử dụng lệnh gọi này để khám phá kỷ nguyên hệ thống của mình. Bây giờ, bạn có nền tảng tốt hơn để hiểu những gì đang thực sự xảy ra ở đây

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
9 chuyển đổi số giây đã trôi qua kể từ kỷ nguyên thành
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 theo giờ UTC. Trong trường hợp này, bạn đã vượt qua
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
75 dưới dạng số giây, nghĩa là bạn đang cố gắng tìm chính kỷ nguyên đó theo giờ UTC

Ghi chú. Lưu ý thuộc tính

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
06 được đặt thành
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
75. Thuộc tính này cho biết múi giờ có đang sử dụng giờ mùa hè hay không. UTC không bao giờ đăng ký DST, vì vậy cờ đó sẽ luôn là
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
75 khi sử dụng
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
9

Như bạn đã thấy trước đây,

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 không thể đại diện cho giây phân số, vì vậy,
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
9 bỏ qua giây phân số trong đối số

>>>

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
0

Lưu ý rằng mặc dù số giây bạn đã vượt qua rất gần với

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
12, nhưng số giây phân số của
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
13 đơn giản bị bỏ qua, như được hiển thị bởi
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
14

Tham số

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
15 cho
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
9 là tùy chọn, nghĩa là bạn có thể gọi
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
9 mà không có đối số. Làm như vậy sẽ cung cấp thời gian hiện tại trong UTC

>>>

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
1

Thật thú vị, không có nghịch đảo nào cho chức năng này trong

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2. Thay vào đó, bạn sẽ phải tìm trong mô-đun
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
19 của Python để tìm một hàm có tên là
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
20

>>>

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
2

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
20 lấy một bộ [hoặc
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4, vì nó là một lớp con của bộ] và trả về số giây tương ứng kể từ kỷ nguyên

Bối cảnh lịch sử. Nếu bạn quan tâm đến lý do tại sao

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
20 không có trong
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2, bạn có thể xem cuộc thảo luận trong Python Issue 6280

Nói tóm lại, ban đầu nó được thêm vào

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
19 vì
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2 theo sát thư viện thời gian của C [được định nghĩa trong
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
27], không chứa hàm khớp. Vấn đề nêu trên đã đề xuất ý tưởng di chuyển hoặc sao chép
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
20 vào
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2

Tuy nhiên, với những tiến bộ đối với thư viện

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
30, sự không nhất quán trong việc triển khai bản vá của
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
31 và câu hỏi về cách xử lý
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
32 sau đó, những người bảo trì đã từ chối bản vá, khuyến khích sử dụng
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
30 thay thế

Làm việc với UTC rất có giá trị trong lập trình vì nó là một tiêu chuẩn. Bạn không phải lo lắng về thông tin DST, múi giờ hoặc ngôn ngữ

Điều đó nói rằng, có rất nhiều trường hợp bạn muốn sử dụng giờ địa phương. Tiếp theo, bạn sẽ thấy cách chuyển đổi từ giây sang giờ địa phương để bạn có thể làm việc đó

Loại bỏ các quảng cáo

Giờ địa phương

Trong ứng dụng của bạn, bạn có thể cần làm việc với giờ địa phương thay vì UTC. Mô-đun

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2 của Python cung cấp chức năng lấy giờ địa phương từ số giây đã trôi qua kể từ kỷ nguyên có tên là
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
35

Chữ ký của

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
35 tương tự như
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
9 ở chỗ nó nhận một đối số tùy chọn
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
15, nó sử dụng để xây dựng một
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 sử dụng múi giờ địa phương của bạn

>>>

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
3

Lưu ý rằng

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
40. Vì DST quan trọng với giờ địa phương, nên
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
06 sẽ thay đổi giữa
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
75 và
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
74 tùy thuộc vào việc DST có được áp dụng trong thời gian nhất định hay không. Kể từ
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
40, DST không được áp dụng cho ngày 1 tháng 3 năm 2019

Tại Hoa Kỳ vào năm 2019, thời gian tiết kiệm ánh sáng ban ngày bắt đầu từ ngày 10 tháng 3. Vì vậy, để kiểm tra xem cờ DST có thay đổi chính xác hay không, bạn cần thêm giá trị giây của 9 ngày vào đối số

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
15

Để tính toán điều này, bạn lấy số giây trong một ngày [86.400] và nhân số đó với 9 ngày

>>>

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
4

Bây giờ, bạn sẽ thấy rằng

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 hiển thị ngày là ngày 10 tháng 3 năm 2019 với
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
47. Ngoài ra, hãy lưu ý rằng
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
48 cũng đã vượt lên trước, thành
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
49 thay vì
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
50 trong ví dụ trước, do tiết kiệm thời gian ban ngày

Kể từ Python 3. 3,

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 cũng đã bao gồm hai thuộc tính hữu ích trong việc xác định múi giờ của
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4

  1. >>> import time
    >>> time.gmtime[0]
    time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
    
    53
  2. >>> import time
    >>> time.gmtime[0]
    time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
    
    54

Lúc đầu, các thuộc tính này phụ thuộc vào nền tảng, nhưng chúng đã có sẵn trên tất cả các nền tảng kể từ Python 3. 6

Đầu tiên,

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
53 lưu trữ múi giờ địa phương

>>>

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
5

Tại đây, bạn có thể thấy rằng

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
35 trả về một
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 với múi giờ được đặt thành
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
58 [Giờ chuẩn miền Trung]

Như bạn đã thấy trước đây, bạn cũng có thể cho biết múi giờ dựa trên hai phần thông tin, phần bù UTC và DST [nếu có]

>>>

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
6

Trong trường hợp này, bạn có thể thấy rằng

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
59 chậm hơn 860 giây so với GMT, viết tắt của Giờ trung bình Greenwich. GMT là múi giờ không có phần bù UTC. UTC±00. 00

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
60 giây chia cho giây mỗi giờ [3.600] có nghĩa là thời gian của
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
59 là
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
63 [hoặc
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
64]

Bạn có thể sử dụng độ lệch GMT cộng với trạng thái DST để suy ra rằng

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
59 là
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
64 vào giờ chuẩn, tương ứng với múi giờ chuẩn miền Trung

Giống như

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
9, bạn có thể bỏ qua đối số
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
15 khi gọi
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
35 và nó sẽ trả về giờ địa phương hiện tại trong một
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4

>>>

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
7

Không giống như

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
9, hàm nghịch đảo của
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
35 tồn tại trong mô-đun Python
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2. Hãy xem nó hoạt động như thế nào

Loại bỏ các quảng cáo

Chuyển đổi một đối tượng thời gian cục bộ thành giây

Bạn đã biết cách chuyển đổi đối tượng thời gian UTC sang giây bằng cách sử dụng

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
32. Để chuyển đổi giờ địa phương thành giây, bạn sẽ sử dụng
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
75

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
75 yêu cầu bạn chuyển một tham số có tên là
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
38 có dạng đối tượng 9-tuple bình thường hoặc đối tượng
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 đại diện cho giờ địa phương

>>>

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
8

Điều quan trọng cần lưu ý là

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
38 phải là một bộ đại diện cho giờ địa phương, không phải UTC

>>>

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
9

Ghi chú. Đối với ví dụ này, giả sử rằng giờ địa phương là

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
80

Ví dụ này cho thấy tại sao điều quan trọng là sử dụng

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
75 với giờ địa phương, thay vì UTC

  1. >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    9 không có đối số trả về một
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    4 sử dụng UTC.
    >>> import time
    >>> time.gmtime[0]
    time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
    
    84 chương trình
    >>> import time
    >>> time.gmtime[0]
    time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
    
    85. Điều này là chính xác vì
    >>> import time
    >>> time.gmtime[0]
    time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
    
    86, vì vậy UTC phải sớm hơn 6 giờ so với giờ địa phương

  2. >>> import time
    >>> time.gmtime[0]
    time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
    
    75 cố gắng trả lại số giây, mong đợi giờ địa phương, nhưng thay vào đó bạn đã vượt qua
    >>> import time
    >>> time.gmtime[0]
    time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
    
    84. Vì vậy, thay vì hiểu rằng
    >>> import time
    >>> time.gmtime[0]
    time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
    
    84 là giờ UTC, nó cho rằng bạn có nghĩa là
    >>> import time
    >>> time.gmtime[0]
    time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
    
    90

  3. >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    9 sau đó được sử dụng để chuyển đổi những giây đó trở lại thành UTC, điều này dẫn đến sự không nhất quán. Hiện tại là
    >>> import time
    >>> time.gmtime[0]
    time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
    
    92. Lý do cho sự khác biệt này là thực tế là
    >>> import time
    >>> time.gmtime[0]
    time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
    
    75 giờ địa phương dự kiến. Vì vậy, việc chuyển đổi trở lại UTC sẽ thêm 6 giờ nữa vào giờ địa phương

Làm việc với các múi giờ nổi tiếng là khó khăn, vì vậy, điều quan trọng là bạn phải chuẩn bị để thành công bằng cách hiểu sự khác biệt giữa UTC và giờ địa phương cũng như các hàm thời gian Python xử lý từng múi giờ.

Chuyển đổi đối tượng thời gian Python thành chuỗi

Mặc dù làm việc với các bộ dữ liệu rất thú vị, nhưng đôi khi tốt nhất là làm việc với các chuỗi

Biểu diễn chuỗi thời gian, còn được gọi là dấu thời gian, giúp làm cho thời gian dễ đọc hơn và có thể đặc biệt hữu ích để xây dựng giao diện người dùng trực quan

Có hai hàm Python

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2 mà bạn sử dụng để chuyển đổi một đối tượng
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
95 thành một chuỗi

  1. >>> import time
    >>> time.gmtime[0]
    time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
    
    96
  2. >>> import time
    >>> time.gmtime[0]
    time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
    
    97

Bạn sẽ bắt đầu bằng cách tìm hiểu về

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
96

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
96

Bạn sử dụng

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
96 để chuyển đổi bộ thời gian hoặc
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 thành dấu thời gian

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
40

Cả

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
9 và
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
35 đều trả về các phiên bản
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4, tương ứng với giờ UTC và giờ địa phương

Bạn có thể sử dụng

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
96 để chuyển đổi
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 thành dấu thời gian.
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
96 hoạt động tương tự như
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
37 mà bạn đã học trước đó trong bài viết này, ngoại trừ thay vì chuyển một số dấu phẩy động, bạn chuyển một bộ. Ngay cả định dạng dấu thời gian cũng giống nhau giữa hai chức năng

Như với

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
37, tham số cho
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
96 là tùy chọn. Nếu bạn không chuyển một đối tượng thời gian cho
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
96, thì nó sẽ sử dụng giờ địa phương hiện tại

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
41

Như với

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
37, nó cũng bỏ qua thông tin ngôn ngữ

Một trong những nhược điểm lớn nhất của

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
96 là định dạng không linh hoạt.
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
97 giải quyết vấn đề này bằng cách cho phép bạn định dạng dấu thời gian của mình

Loại bỏ các quảng cáo

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
97

Bạn có thể thấy mình ở một vị trí mà định dạng chuỗi từ

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
37 và
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
96 không phù hợp với ứng dụng của bạn. Thay vào đó, bạn có thể muốn định dạng chuỗi của mình theo cách có ý nghĩa hơn đối với người dùng của bạn

Một ví dụ về điều này là nếu bạn muốn hiển thị thời gian của mình trong một chuỗi có tính đến thông tin ngôn ngữ

Để định dạng chuỗi, được cung cấp một bộ thời gian

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 hoặc Python, bạn sử dụng
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
97, viết tắt của “thời gian định dạng chuỗi. ”

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
97 có hai đối số

  1. >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    421 chỉ định thứ tự và hình thức của các phần tử thời gian trong chuỗi của bạn
  2. >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    38 là một bộ thời gian tùy chọn

Để định dạng một chuỗi, bạn sử dụng các lệnh. Chỉ thị là các chuỗi ký tự bắt đầu bằng

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
423 chỉ định một yếu tố thời gian cụ thể, chẳng hạn như

  • >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    424. Ngày trong tháng
  • >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    425. Thang của năm
  • >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    426. Năm

Ví dụ: bạn có thể xuất ngày theo giờ địa phương của mình bằng tiêu chuẩn ISO 8601 như thế này

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
42

Đọc thêm. Mặc dù việc biểu thị ngày tháng bằng cách sử dụng thời gian trong Python là hoàn toàn hợp lệ và có thể chấp nhận được, nhưng bạn cũng nên cân nhắc sử dụng mô-đun

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
30 của Python, mô-đun này cung cấp lối tắt và một khung mạnh mẽ hơn để làm việc với ngày và giờ cùng nhau

Ví dụ: bạn có thể đơn giản hóa việc xuất ngày ở định dạng ISO 8601 bằng cách sử dụng

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
30

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
43

Để tìm hiểu thêm về cách sử dụng mô-đun Python

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
30, hãy xem Sử dụng Python datetime để làm việc với ngày và giờ

Như bạn đã thấy trước đây, lợi ích lớn của việc sử dụng

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
97 thay vì
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
96 là khả năng hiển thị dấu thời gian sử dụng thông tin cụ thể theo ngôn ngữ

Ví dụ: nếu bạn muốn biểu thị ngày và giờ theo cách nhạy cảm với ngôn ngữ, bạn không thể sử dụng

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
96

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
44

Lưu ý rằng ngay cả sau khi thay đổi ngôn ngữ của bạn theo chương trình,

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
96 vẫn trả về ngày và giờ ở cùng định dạng như trước đây

Chi tiết kỹ thuật.

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
434 là danh mục ngôn ngữ cho định dạng ngày và giờ. Đối số
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
435
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
436 có thể khác, tùy thuộc vào hệ thống của bạn

Tuy nhiên, khi bạn sử dụng

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
97, bạn sẽ thấy rằng nó chiếm ngôn ngữ

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
45

Tại đây, bạn đã sử dụng thành công thông tin ngôn ngữ vì bạn đã sử dụng

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
97

Ghi chú.

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
439 là chỉ thị cho ngày và giờ phù hợp với địa phương

Nếu time tuple không được truyền cho tham số

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
38, thì
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
97 sẽ sử dụng kết quả của
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
35 theo mặc định. Vì vậy, bạn có thể đơn giản hóa các ví dụ trên bằng cách loại bỏ đối số thứ hai tùy chọn

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
46

Tại đây, bạn đã sử dụng thời gian mặc định thay vì chuyển thời gian của riêng mình làm đối số. Ngoài ra, lưu ý rằng đối số

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
421 có thể bao gồm văn bản khác với chỉ thị định dạng

Đọc thêm. Kiểm tra kỹ lưỡng này có sẵn cho

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
97

Mô-đun Python

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2 cũng bao gồm thao tác nghịch đảo chuyển đổi dấu thời gian trở lại thành đối tượng
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4

Loại bỏ các quảng cáo

Chuyển đổi chuỗi thời gian Python thành đối tượng

Khi bạn đang làm việc với các chuỗi liên quan đến ngày và giờ, việc chuyển đổi dấu thời gian thành đối tượng thời gian có thể rất hữu ích

Để chuyển đổi một chuỗi thời gian thành một

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4, bạn sử dụng
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
448, viết tắt của “thời gian phân tích cú pháp chuỗi”

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
47

Đối số đầu tiên của

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
448 phải là dấu thời gian bạn muốn chuyển đổi. Đối số thứ hai là
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
421 mà dấu thời gian nằm trong

Tham số

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
421 là tùy chọn và mặc định là
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
452. Do đó, nếu bạn có dấu thời gian ở định dạng đó, bạn không cần chuyển nó làm đối số

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
48

Vì một

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
4 có 9 thành phần ngày và giờ chính, nên
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
448 phải cung cấp giá trị mặc định hợp lý cho những thành phần mà nó không thể phân tích cú pháp từ
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
455

Trong các ví dụ trước,

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
456. Điều này có nghĩa là
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
448 không thể xác định bằng dấu thời gian xem nó có đại diện cho giờ mùa hè hay không

Bây giờ bạn đã biết cách làm việc với thời gian và ngày tháng trong Python bằng cách sử dụng mô-đun

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2 theo nhiều cách khác nhau. Tuy nhiên, có những cách sử dụng khác cho
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2 ngoài việc chỉ tạo các đối tượng thời gian, lấy chuỗi thời gian Python và sử dụng số giây đã trôi qua kể từ kỷ nguyên

Đình chỉ thi hành

Một hàm thời gian thực sự hữu ích của Python là

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
460, hàm này tạm dừng quá trình thực thi của luồng trong một khoảng thời gian xác định

Ví dụ: bạn có thể tạm dừng thực thi chương trình của mình trong 10 giây như thế này

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
49

Chương trình của bạn sẽ in chuỗi

>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
30 được định dạng đầu tiên, sau đó tạm dừng trong 10 giây và cuối cùng in chuỗi
>>> import time
>>> time.gmtime[0]
time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
30 được định dạng thứ hai

Bạn cũng có thể chuyển giây phân số sang

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
460

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
0

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
460 rất hữu ích để thử nghiệm hoặc khiến chương trình của bạn phải chờ vì bất kỳ lý do gì, nhưng bạn phải cẩn thận để không tạm dừng mã sản xuất của mình trừ khi bạn có lý do chính đáng để làm như vậy

Trước Python 3. 5, một tín hiệu được gửi đến quy trình của bạn có thể làm gián đoạn

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
460. Tuy nhiên, trong 3. 5 trở lên,
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
460 sẽ luôn tạm dừng thực thi trong ít nhất một khoảng thời gian đã chỉ định, ngay cả khi quy trình nhận được tín hiệu

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
460 chỉ là một hàm thời gian Python có thể giúp bạn kiểm tra chương trình của mình và làm cho chúng mạnh mẽ hơn

Loại bỏ các quảng cáo

Đo lường hiệu suất

Bạn có thể sử dụng

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
2 để đo lường hiệu suất của chương trình của bạn

Cách bạn làm điều này là sử dụng

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
5, như tên cho thấy, cung cấp bộ đếm hiệu suất với độ phân giải cao để đo khoảng cách thời gian ngắn

Để sử dụng

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
5, bạn đặt một bộ đếm trước khi mã của bạn bắt đầu thực thi cũng như sau khi quá trình thực thi mã của bạn hoàn tất

>>>

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
1

Đầu tiên,

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
471 ghi lại khoảnh khắc trước khi bạn gọi hàm.
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
472 ghi lại khoảnh khắc sau khi chức năng trả về. Tổng thời gian thực hiện của chức năng mất
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
473 giây

Chi tiết kỹ thuật. Trăn 3. 7 đã giới thiệu

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
474, hoạt động tương tự như
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
5, nhưng sử dụng nano giây thay vì giây

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
5 [hoặc
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
474] là cách chính xác nhất để đo hiệu suất mã của bạn bằng một lần thực thi. Tuy nhiên, nếu bạn đang cố đánh giá chính xác hiệu suất của một đoạn mã, tôi khuyên bạn nên sử dụng mô-đun Python
>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
478

>>> from time import time, ctime
>>> t = time[]
>>> ctime[t]
'Mon Feb 25 19:11:59 2019'
478 chuyên chạy mã nhiều lần để phân tích hiệu suất chính xác hơn và giúp bạn tránh việc đơn giản hóa quá mức phép đo thời gian cũng như các cạm bẫy phổ biến khác

Phần kết luận

Xin chúc mừng. Bây giờ bạn đã có một nền tảng tuyệt vời để làm việc với ngày và giờ trong Python

Bây giờ, bạn có thể

  • Sử dụng số dấu phẩy động, biểu thị số giây đã trôi qua kể từ kỷ nguyên, để xử lý thời gian
  • Quản lý thời gian bằng cách sử dụng bộ dữ liệu và đối tượng
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    4
  • Chuyển đổi giữa giây, bộ dữ liệu và chuỗi dấu thời gian
  • Tạm dừng thực thi chuỗi Python
  • Đo lường hiệu suất bằng cách sử dụng
    >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    5

Trên hết, bạn đã học được một số khái niệm cơ bản xung quanh ngày và giờ, chẳng hạn như

  • kỷ nguyên
  • UTC
  • Múi giờ
  • Thời gian tiết kiệm ánh sáng ban ngày

Bây giờ, đã đến lúc bạn áp dụng kiến ​​thức mới về thời gian của Python vào các ứng dụng trong thế giới thực của mình

Đọc thêm

Nếu bạn muốn tiếp tục tìm hiểu thêm về cách sử dụng ngày và giờ trong Python, hãy xem các mô-đun sau

  • >>> import time
    >>> time.gmtime[0]
    time.struct_time[tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0]
    
    30. Mô-đun ngày và giờ mạnh mẽ hơn trong thư viện chuẩn của Python
  • >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    478. Một mô-đun để đo hiệu suất của các đoạn mã
  • >>> from time import time, ctime
    >>> t = time[]
    >>> ctime[t]
    'Mon Feb 25 19:11:59 2019'
    
    484. Ngày giờ chính xác cao hơn được sử dụng trong thiên văn học

Đánh dấu là đã hoàn thành

Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Làm chủ Mô-đun thời gian tích hợp sẵn của Python

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Gửi cho tôi thủ thuật Python »

Giới thiệu về Alex Ronquillo

Alex Ronquillo là Kỹ sư phần mềm tại thelab. Anh ấy là một Pythonista cuồng nhiệt, cũng đam mê viết lách và phát triển trò chơi

» Thông tin thêm về Alex

Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Aldren

Brad

Joanna

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

Thời gian time[] mang lại cho Python điều gì?

time[] Hàm time[] trả về số giây đã trôi qua kể từ epoch . Đối với hệ thống Unix, ngày 1 tháng 1 năm 1970, 00. 00. 00 tại UTC là kỷ nguyên [thời điểm bắt đầu thời gian]. thời gian nhập giây = thời gian. time[] print["Giây kể từ epoch =", giây]

Thời gian time[] hoạt động như thế nào?

Thời gian. hàm time[] trả về số giây kể từ kỷ nguyên, dưới dạng giây . Lưu ý rằng "kỷ nguyên" được định nghĩa là bắt đầu từ ngày 1 tháng 1 năm 1970 theo giờ UTC. Vì vậy, kỷ nguyên được xác định theo UTC và thiết lập thời điểm toàn cầu theo thời gian.

Đơn vị thời gian là gì?

đơn vị thời gian
phút
60 giây
giờ
60 phút, hoặc 3.600 giây
ngày
24 giờ, hoặc 86.400 giây
tuần
7 ngày, hoặc 604.800 giây
Đơn vị thời gian là gì? . com › vật lý › đơn vị thời gian

Python có chức năng thời gian không?

Mô-đun thời gian của Python cung cấp chức năng lấy giờ địa phương từ số giây đã trôi qua kể từ kỷ nguyên được gọi là localtime[] . Lưu ý rằng tm_isdst=0. Vì DST quan trọng với giờ địa phương, tm_isdst sẽ thay đổi từ 0 đến 1 tùy thuộc vào việc DST có được áp dụng cho thời gian nhất định hay không.

Chủ Đề