Hướng dẫn how do you set the seconds in python? - làm thế nào để bạn đặt giây trong python?

Đã hỏi 5 năm, 4 tháng trước 5 years, 4 months ago

Đã xem 10k lần 10k times

Vấn đề của tôi là khi tôi đang cố gắng đặt ngày tháng các ngày đến 00:00:00 Tôi sẽ nhận được một số thập phân kỳ lạ như một giây. Tại sao điều đó xảy ra và nó là gì? Và làm thế nào tôi có thể thoát khỏi số thập phân đó?

Đây là những gì tôi nhận được:

2017-06-20 00:00:00.652698+00:00

Và đây là những gì tôi muốn đạt được:

2017-06-20 00:00:00+00:00

code::

todays_date = timezone.now().replace(hour=0, minute=0, second=0)

print(todays_date)

Đã hỏi ngày 20 tháng 6 năm 2017 lúc 21:28Jun 20, 2017 at 21:28

4

2017-06-20 00:00:00+00:00
6 hỗ trợ độ chính xác micro giây. Để cắt ngắn các giây phân số, hãy thêm
2017-06-20 00:00:00+00:00
7 vào cuộc gọi
2017-06-20 00:00:00+00:00
8 của bạn:

todays_date = timezone.now().replace(hour=0, minute=0, second=0, microsecond=0)
print(todays_date)

Hoặc bạn chỉ có thể nhận được phần ngày dưới dạng đối tượng

2017-06-20 00:00:00+00:00
9 với phương thức
todays_date = timezone.now().replace(hour=0, minute=0, second=0)

print(todays_date)
0:

todays_date = timezone.now().date()
print(todays_date)

mà sẽ đầu ra

2017-06-20

Đã trả lời ngày 20 tháng 6 năm 2017 lúc 21:29Jun 20, 2017 at 21:29

Hướng dẫn how do you set the seconds in python? - làm thế nào để bạn đặt giây trong python?

0

Bài viết này sẽ dạy bạn cách chuyển đổi DateTime thành vài giây trong Python.

Sau khi đọc bài viết Python này, bạn sẽ học::

  • Cách chuyển đổi DateTime thành giây (& nbsp; số giây kể từ thời đại).
  • Cách chuyển đổi giây sang DateTime

Thời gian kỷ nguyên là gì

Khi chúng tôi cố gắng chuyển đổi DateTime thành vài giây, chúng tôi cần hiểu thời gian kỷ nguyên trước.

Trong điện toán, thời gian kỷ nguyên là ngày và thời gian mà máy tính đo thời gian hệ thống. Đó là một điểm bắt đầu hoặc thời điểm cố định trong thời gian được sử dụng để tính số giây trôi qua. Thời gian của máy tính được xác định theo số giây đã trôi qua kể từ thời đại.

Thời gian kỷ nguyên còn được gọi là thời gian POSIX hoặc thời gian Unix. Ví dụ, trong hầu hết các phiên bản Unix, thời gian kỷ nguyên bắt đầu lúc 00:00:00 UTC vào ngày 1 tháng 1 năm 1970.00:00:00 UTC on 1 January 1970.

Vì vậy, khi chúng tôi chuyển đổi DateTime thành vài giây, chúng tôi sẽ nhận được số giây kể từ thời đại. Điều đó có nghĩa là những giây trôi qua giữa thời gian đầu vào và thời gian kỷ nguyên (00:00:00 UTC vào ngày 1 tháng 1 năm 1970).elapsed seconds between input datetime and epoch time (00:00:00 UTC on 1 January 1970).

Cách chuyển đổi DateTime thành giây trong Python

Hãy giả sử bạn có một DateTime (2018,10,22) ở định dạng UTC và bạn muốn tính số giây kể từ thời đại. Các bước dưới đây hiển thị hai cách để chuyển đổi DateTime thành giây.

  1. Nhập mô -đun DateTime

    Python DateTime & NBSP; Mô -đun cung cấp các chức năng khác nhau để tạo và thao tác ngày và thời gian. Sử dụng câu lệnh & nbsp;

  2. Trừ dữ liệu đầu vào từ thời đại thời gian

    Để chuyển đổi DateTime thành Seconds, hãy trừ Datetime đầu vào từ thời đại Epoch. Đối với Python, thời gian kỷ nguyên bắt đầu lúc 00:00:00 UTC vào ngày 1 tháng 1 năm 1970. Phép trừ cung cấp cho bạn đối tượng Timedelta. Sử dụng phương pháp

    todays_date = timezone.now().replace(hour=0, minute=0, second=0)
    
    print(todays_date)
    
    3 của một đối tượng TimeDelta để có được số giây kể từ thời đại.

  3. Sử dụng phương thức dấu thời gian ().

    Nếu phiên bản Python của bạn lớn hơn 3.3 thì một cách khác là sử dụng phương thức

    todays_date = timezone.now().replace(hour=0, minute=0, second=0)
    
    print(todays_date)
    
    4 của lớp DateTime để chuyển đổi DateTime thành giây. Phương pháp này trả về giá trị float đại diện cho các phân số của một giây.

Ví dụ: DateTime đến giây

from datetime import datetime

# input datetime
dt = datetime(2018, 10, 22, 0, 0)
# epoch time
epoch_time = datetime(1970, 1, 1)

# subtract Datetime from epoch datetime
delta = (dt - epoch_time)
print('Datetime to Seconds since epoch:', delta.total_seconds())

Output::

Datetime to Seconds since epoch: 1540166400.0

DateTime đến Seconds bằng dấu thời gian ()

Một dấu thời gian được mã hóa thông tin thường được sử dụng trong Unix, cho biết ngày và thời gian mà một sự kiện cụ thể đã xảy ra. Thông tin này có thể chính xác với các micro giây. Đó là một dấu thời gian POSIX tương ứng với thể hiện DateTime.POSIX timestamp corresponding to the datetime instance.

Mã dưới đây cho thấy cách chuyển đổi DateTime thành giây bằng phương thức

todays_date = timezone.now().replace(hour=0, minute=0, second=0)

print(todays_date)
4. Phương pháp này sẽ chỉ hữu ích nếu bạn cần số giây từ Epoch (1970-01-01 UTC). Nó trả về một số giây đã trôi qua kể từ thời đại như một giá trị nổi đại diện cho các phân số của một giây.

Example::

from datetime import datetime

# input datetime
dt = datetime(2018, 10, 22, 0, 0)
print('Seconds since epoch:', dt.timestamp())

Output::

Seconds since epoch: 1540146600.0

Note::

Lưu ý rằng thời gian khác nhau có tác động đến kết quả. Do đó, người ta nên xem xét chuyển đổi DateTime sang UTC trước khi chuyển đổi nó thành giây.

Để có được kết quả chính xác, bạn nên sử dụng DateTime UTC. Nếu DateTime của bạn không phải là UTC, bạn sẽ cần phải chuyển đổi nó trước khi sử dụng hoặc đính kèm lớp TZINFO với phần bù múi giờ thích hợp. Thêm

todays_date = timezone.now().replace(hour=0, minute=0, second=0)

print(todays_date)
6 nếu sử dụng Python 2 hoặc
todays_date = timezone.now().replace(hour=0, minute=0, second=0)

print(todays_date)
7 nếu sử dụng Python 3.

Don Tiết sử dụng Strptime để chuyển đổi DateTime thành giây bằng cách sử dụng thuộc tính

todays_date = timezone.now().replace(hour=0, minute=0, second=0)

print(todays_date)
8 vì Python không hỗ trợ thuộc tính
todays_date = timezone.now().replace(hour=0, minute=0, second=0)

print(todays_date)
8. Nếu bạn sử dụng nó, Python sẽ sử dụng hệ thống của bạn, sử dụng timezone địa phương của bạn và bạn sẽ nhận được kết quả không chính xác. Xem tài liệu.

DateTime đến vài giây bằng mô -đun lịch

Mô -đun lịch cung cấp phương thức Timegm () trả về giá trị dấu thời gian UNIX tương ứng, giả sử một kỷ nguyên năm 1970 và mã hóa POSIX.

  • Nhập mô -đun Clenadar
  • Sử dụng
    todays_date = timezone.now().replace(hour=0, minute=0, second=0, microsecond=0)
    print(todays_date)
    
    0 để có được thời gian từ DateTime.
  • Tiếp theo, chuyển thời gian Tuple sang phương thức
    todays_date = timezone.now().replace(hour=0, minute=0, second=0, microsecond=0)
    print(todays_date)
    
    1 để chuyển đổi DateTime thành giây.

Example::

2017-06-20 00:00:00+00:00
0

Output::

2017-06-20 00:00:00+00:00
1

Note::

  • Phương pháp này loại bỏ các phân số của một giây.
  • Lịch chấp thuận không có cách nào để chỉ định múi giờ. Nếu DateTime đầu vào được nhận thức và sử dụng múi giờ khác với hệ thống timezone của hệ thống, kết quả sẽ không chính xác (múi giờ bị mất trong cuộc gọi
    todays_date = timezone.now().replace(hour=0, minute=0, second=0, microsecond=0)
    print(todays_date)
    
    2). Để có được câu trả lời chính xác cho một datetime ’nhận thức được, bạn có thể sử dụng
    todays_date = timezone.now().replace(hour=0, minute=0, second=0, microsecond=0)
    print(todays_date)
    
    3.

Nếu bạn muốn chuyển đổi số giây kể từ kỷ nguyên thành đối tượng DateTime, hãy sử dụng phương thức

todays_date = timezone.now().replace(hour=0, minute=0, second=0, microsecond=0)
print(todays_date)
4 của lớp DateTime.

Example::

2017-06-20 00:00:00+00:00
2

Output::

2017-06-20 00:00:00+00:00
3

Chuyển đổi thời gian kỷ nguyên với mili giây thành DateTime

Nếu bạn muốn chuyển đổi mili giây thành đối tượng DateTime, hãy sử dụng phương thức Strptime () của lớp DateTime. Sử dụng mã định dạng

todays_date = timezone.now().replace(hour=0, minute=0, second=0, microsecond=0)
print(todays_date)
5 để phân tích cú pháp.

Example::

2017-06-20 00:00:00+00:00
4

Output::

2017-06-20 00:00:00+00:00
5

Bài tập và câu đố Python

Các bài tập mã hóa miễn phí và các câu đố bao gồm các vấn đề cơ bản của Python, cấu trúc dữ liệu, phân tích dữ liệu, v.v.

  • Hơn 15 bài tập và câu đố dành riêng cho chủ đềTopic-specific Exercises and Quizzes
  • Mỗi bài tập chứa 10 câu hỏi
  • Mỗi bài kiểm tra chứa 12-15 mcq

Làm thế nào để bạn có được giây trong Python?

Sử dụng phương thức Total_Seconds () của một đối tượng TimeDelta để có được số giây kể từ kỷ nguyên. Sử dụng phương thức dấu thời gian (). Nếu phiên bản Python của bạn lớn hơn 3.3 thì một cách khác là sử dụng phương thức Timestamp () của lớp DateTime để chuyển đổi DateTime thành giây.. Use the timestamp() method. If your Python version is greater than 3.3 then another way is to use the timestamp() method of a datetime class to convert datetime to seconds.

Làm cách nào để chuyển thời gian thành giây trong Python?

Sử dụng phương thức TimedelTa () Trong phương thức này, chúng tôi sử dụng.Phương thức TimedelTa () để chuyển đổi thời gian tính theo giây sang định dạng H M S.Các .Phương thức TimedelTa () được cung cấp bởi thư viện DateTime thường được sử dụng để tính toán chênh lệch giữa các ngày đã cho. In this method, we use the . timedelta() method to convert a time in seconds to h m s format. The . timedelta() method is provided by the datetime library which is generally used to calculate the difference between given dates.

Làm thế nào để bạn chuyển đổi HH MM SS thành giây trong Python?

Chia chuỗi thành các thành phần riêng lẻ và lưu trữ trong các giờ, phút và giây.Nhân giờ với 3600 ...
1:40:10, sẽ tạo ra đầu ra 6010 giây ..
Càng 0:05:15, sẽ tạo ra đầu ra là 315 giây ..
Càng 0:00:32, sẽ tạo ra đầu ra 32 giây ..

Làm thế nào tôi có thể nhận được giây trong DateTime?

Ví dụ: Phương thức Total_Seconds ()..
ngày giờ.strptime () định dạng dấu thời gian đầu vào vào HH: mm: ss ..
ngày giờ.DateTime () Mất một năm, tháng, ngày làm đối số để tạo đối tượng DateTime ..
ngày giờ.Total_seconds () trả về tổng số giây ..