Làm cách nào để có được múi giờ est trong Python?

Tôi thường thấy Python là một ngôn ngữ rất linh hoạt cho phép bạn làm được rất nhiều thứ mà không phải tốn nhiều công sức. Tuy nhiên, tôi đã gặp phải một số vấn đề với mô-đun datetime

Đối với mục đích cơ bản, mô-đun datetime là khá đủ, nhưng các múi giờ đáng tiếc không thể được thao tác và sử dụng chỉ với mô-đun datetime. Ví dụ, một tác vụ đơn giản như chuyển đổi đối tượng ngày giờ từ múi giờ này sang múi giờ khác có thể khá khó khăn. Vì vậy, tôi sẽ sử dụng ví dụ này để chỉ ra cách bạn có thể xử lý các múi giờ

Một đối tượng datetime đơn giản được gọi là timezone ngây thơ. Vì vậy, khi chúng tôi làm như sau

from datetime import datetime
now = datetime.now[]

Điều này tạo ra một đối tượng datetime, không có bất kỳ thông tin nào về múi giờ và sử dụng thời gian hiện tại của hệ thống. Để sử dụng múi giờ với nó, bạn cần chuyển đổi múi giờ này thành đối tượng nhận biết múi giờ. Điều này có thể được thực hiện bằng cách sử dụng chức năng thay thế như sau

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]

Có hai điều, thứ nhất làm thế nào chúng ta có thể lấy đối tượng tzinfo và thứ hai là đối tượng now có chứa ngày giờ chính xác theo múi giờ mà bạn đã nhập không. Tôi sẽ đến phần đầu tiên sau, nhưng câu trả lời cho phần thứ hai là KHÔNG

Những gì thay thế làm là nó chỉ điền vào trường tzinfo và chỉ cần chấp nhận rằng bạn đã cung cấp múi giờ chính xác cho ngày giờ. Vì vậy, giả sử bạn đang ở Ấn Độ [múi giờ của bạn là Châu Á/Kolkata] và bạn đặt tzinfo cho Châu Âu/Berlin thì nó sẽ đơn giản chấp nhận rằng thời gian hiện tại của hệ thống thực sự là hệ thống Châu Âu/Berlin, điều này thực sự sai

Vì vậy, nếu bạn muốn chuyển đổi ngày giờ từ múi giờ này sang múi giờ khác, bạn phải sử dụng

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
4

now = datetime.now[]
now = now.replace[tzinfo = tz]
now = now.astimezone[tz]

Ở đây chúng ta phải thấy rằng chúng ta không thể sử dụng trực tiếp

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
4 vì
# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
6 cung cấp cho chúng ta một đối tượng ngây thơ về múi giờ và chúng ta chỉ có thể sử dụng astimezone trên một đối tượng nhận biết múi giờ. Vì vậy, mặc dù đường giữa dường như vô dụng, chúng ta vẫn phải sử dụng nó

Bây giờ đến điểm làm thế nào chúng ta có thể có được các múi giờ khác nhau. Và đó không phải là một nhiệm vụ rất đơn giản. Chúng tôi phải sử dụng hai mô-đun cho

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
0 và
# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
1 đó, cả hai đều khá tiện dụng. Vì vậy, nếu chúng ta cần lấy múi giờ hiện tại thì chúng ta sẽ làm như sau

from dateutil.tz import *
# This contains the local timezone 
local = tzlocal[]
now = datetime.now[]
now = now.replace[tzinfo = local]

# prints a timezone aware datetime
print now

Và giả sử chúng tôi muốn chuyển đổi cái này thành datetime utc thì chúng tôi sẽ làm

utc = tzutc[]
utc_now = now.astimezone[utc]
print utc_now

Chỉ sử dụng mô-đun dateutil không mang lại cho chúng tôi nhiều tính linh hoạt vì chúng tôi chỉ có thể nhận được tzlocal[] và tzutc[], nhưng điều gì sẽ xảy ra nếu chúng tôi phải chuyển đổi datetime sang múi giờ khác. Trong trường hợp đó, chúng ta sẽ phải sử dụng mô-đun pytz. Giả sử bạn biết rằng múi giờ của mình là 'Châu Á\Kolkata' và bạn muốn chuyển đổi ngày giờ từ một số múi giờ khác, bạn sẽ thực hiện như sau

import pytz

# assuming now contains a timezone aware datetime
tz = pytz.timezone['Asia/Kolkata']
your_now = now.astimezone[tz]
print your_now

Như tôi đã nói trước đây, các mô-đun dateutil và pytz khá tiện dụng và cũng có thể được sử dụng cho những thứ khác. Bạn có thể tự do khám phá chúng nếu bạn muốn. Chỉ để đưa ra một ví dụ, giả sử bạn có một chuỗi thời gian trong chuỗi là 5 P. M. dateutil ngày 21 tháng 1 có thể phân tích nó thành một đối tượng datetime như

________số 8

Ghi chú. Nếu bạn đang sử dụng dateutil với python2. x, bạn có thể gặp lỗi vì chúng không tương thích, vì vậy bạn cũng phải cài đặt python-dateutil==1. 5

[Đăng lại vì bình luận đã xóa hết khoảng trắng của tôi và trả về]

Vì vậy, đây là cách bạn sẽ làm điều đó

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
7
# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
8

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
9
# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
0
# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
1

Ngoại trừ. Nó không hoạt động trên codecademy vì họ không cài đặt bất kỳ dữ liệu múi giờ nào

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
2

Tôi đã kiểm tra mã thay đổi múi giờ mà tôi đã viết ở trên trên hệ thống cục bộ của mình và nó đã hoạt động

Trong các ứng dụng Python của bạn, bạn có thể muốn làm việc với thời gian để thêm các chức năng như dấu thời gian, kiểm tra thời gian hoạt động của người dùng, v.v.

Một trong những mô-đun giúp bạn làm việc với ngày và giờ trong Python là

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
3

Với mô-đun

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
3, bạn có thể lấy ngày và giờ hiện tại hoặc ngày và giờ hiện tại trong một múi giờ cụ thể

Trong bài viết này, tôi sẽ hướng dẫn các bạn cách lấy thời gian hiện tại trong Python với module

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
3. Tôi cũng sẽ chỉ cho bạn cách lấy thời gian hiện tại ở bất kỳ múi giờ nào trên thế giới

Mục lục

  • Cách lấy thời gian hiện tại với Mô-đun
    # suppose you have the desired timezone in the variable tz    
    now = now.replace[tzinfo = tz]
    
    3
  • Các thuộc tính của hàm
    from datetime import datetime
    currentDateAndTime = datetime.now[]
    
    print["The current date and time is", currentDateAndTime]
    # Output: The current date and time is 2022-03-19 10:05:39.482383
    
    1
  • Cách lấy thời gian hiện tại của múi giờ với
    # suppose you have the desired timezone in the variable tz    
    now = now.replace[tzinfo = tz]
    
    3
  • Phần kết luận

Cách lấy thời gian hiện tại với Mô-đun
# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
3

Điều đầu tiên bạn phải làm là nhập mô-đun

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
3 như thế này

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
0

Điều tiếp theo bạn có thể làm để nhanh chóng có được ngày và giờ hiện tại là sử dụng hàm

from datetime import datetime
currentDateAndTime = datetime.now[]

print["The current date and time is", currentDateAndTime]
# Output: The current date and time is 2022-03-19 10:05:39.482383
1 từ mô-đun
# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
3

from datetime import datetime
currentDateAndTime = datetime.now[]

print["The current date and time is", currentDateAndTime]
# Output: The current date and time is 2022-03-19 10:05:39.482383

Để có được thời gian cụ thể hiện tại, bạn có thể sử dụng phương thức

from datetime import datetime
currentDateAndTime = datetime.now[]

print["The current date and time is", currentDateAndTime]
# Output: The current date and time is 2022-03-19 10:05:39.482383
7 và chuyển vào đó chuỗi
from datetime import datetime
currentDateAndTime = datetime.now[]

print["The current date and time is", currentDateAndTime]
# Output: The current date and time is 2022-03-19 10:05:39.482383
8 đại diện cho giờ, phút và giây

Điều này sẽ cung cấp cho bạn thời gian hiện tại ở định dạng 24 giờ

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
5

Các thuộc tính của hàm
from datetime import datetime
currentDateAndTime = datetime.now[]

print["The current date and time is", currentDateAndTime]
# Output: The current date and time is 2022-03-19 10:05:39.482383
1

Hàm

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
50 có một số thuộc tính mà bạn có thể nhận được năm, tháng, tuần, ngày, giờ, phút và giây của ngày hiện tại

Đoạn mã dưới đây in tất cả các giá trị của các thuộc tính vào thiết bị đầu cuối

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
8

Cách lấy thời gian hiện tại của múi giờ với
# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
3

Bạn có thể lấy thời gian hiện tại trong một múi giờ cụ thể bằng cách sử dụng mô-đun

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
3 với một mô-đun khác có tên là
# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
53

Bạn có thể cài đặt mô-đun

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
53 từ pip như thế này.
______155

Điều đầu tiên bạn phải làm là nhập cả hai mô-đun

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
3 và
# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
53

now = datetime.now[]
now = now.replace[tzinfo = tz]
now = now.astimezone[tz]
3

Sau đó, bạn có thể kiểm tra tất cả các múi giờ có sẵn bằng đoạn mã bên dưới

now = datetime.now[]
now = now.replace[tzinfo = tz]
now = now.astimezone[tz]
4

Trong đoạn mã dưới đây, tôi có thể lấy thời gian ở New York

now = datetime.now[]
now = now.replace[tzinfo = tz]
now = now.astimezone[tz]
5

Làm thế nào tôi có thể có được thời gian hiện tại ở New York?

  • Tôi đã đưa vào phương thức
    # suppose you have the desired timezone in the variable tz    
    now = now.replace[tzinfo = tz]
    
    59 của mô-đun
    # suppose you have the desired timezone in the variable tz    
    now = now.replace[tzinfo = tz]
    
    53, chuyển vào đó múi giờ chính xác của New York dưới dạng một chuỗi và gán nó cho một biến có tên là
    # suppose you have the desired timezone in the variable tz    
    now = now.replace[tzinfo = tz]
    
    80 [dành cho múi giờ của New York]
  • Để có được thời gian hiện tại ở New York, tôi đã sử dụng hàm
    from datetime import datetime
    currentDateAndTime = datetime.now[]
    
    print["The current date and time is", currentDateAndTime]
    # Output: The current date and time is 2022-03-19 10:05:39.482383
    
    1 từ mô-đun
    # suppose you have the desired timezone in the variable tz    
    now = now.replace[tzinfo = tz]
    
    3 và chuyển vào đó biến mà tôi đã tạo để lưu múi giờ ở New York
  • Để cuối cùng có được thời gian hiện tại ở New York ở định dạng 24 giờ, tôi đã sử dụng phương pháp
    from datetime import datetime
    currentDateAndTime = datetime.now[]
    
    print["The current date and time is", currentDateAndTime]
    # Output: The current date and time is 2022-03-19 10:05:39.482383
    
    7 trên biến
    # suppose you have the desired timezone in the variable tz    
    now = now.replace[tzinfo = tz]
    
    84 và lưu trữ nó trong một biến có tên là
    # suppose you have the desired timezone in the variable tz    
    now = now.replace[tzinfo = tz]
    
    85, vì vậy tôi có thể in nó ra thiết bị đầu cuối

Phần kết luận

Như đã trình bày trong bài viết này, mô-đun

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
3 rất thuận tiện khi làm việc với thời gian và ngày tháng, và sau đó nhận được thời gian hiện tại ở địa phương của bạn

Khi được kết hợp với mô-đun

# suppose you have the desired timezone in the variable tz    
now = now.replace[tzinfo = tz]
53 mà bạn có thể cài đặt từ pip, bạn cũng có thể sử dụng nó để lấy thời gian hiện tại ở bất kỳ múi giờ nào trên thế giới

Cảm ơn bạn đã đọc. Nếu bạn thấy bài viết này hữu ích, bạn có thể chia sẻ nó với bạn bè và gia đình của bạn

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

Kolade Chris

Nhà phát triển web và nhà văn kỹ thuật tập trung vào các công nghệ giao diện người dùng

Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Làm cách nào để lấy thời gian trong est bằng Python?

Để biết cụ thể thời gian hiện tại, bạn có thể sử dụng phương thức strftime[] và truyền vào đó chuỗi ”%H. %M. %S” đại diện cho giờ, phút và giây .

Làm cách nào để chuyển đổi ngày giờ thành múi giờ cụ thể Python?

Lấy thời gian hiện tại bằng cách sử dụng datetime. now[] [trả về ngày và giờ địa phương hiện tại] và chuyển hàm timezone[] [lấy múi giờ của một vị trí cụ thể] với múi giờ làm đối số cho nó nói 'UTC'. Định dạng DateTime ở trên bằng cách sử dụng strftime[] và in nó

Làm cách nào để cài đặt múi giờ trong Python?

Bằng cách sử dụng hàm astimezone[], chúng ta có thể chuyển đổi thời gian thành một múi giờ khác. .
cú pháp. múi giờ[t]
Tham số. t là thời gian để được chuyển đổi
Trở lại. Múi giờ đã chuyển đổi

Làm cách nào để in giờ GMT bằng Python?

Nhận giờ GMT hiện tại .
sử dụng thời gian. gmtime[] để lấy thời gian GMT hiện tại bằng Python
Chuyển thời gian tính bằng giây cho phương pháp này để có biểu diễn GMT về thời gian

Chủ Đề