Đây là những gì tôi có cho đến nay, nó có lẽ là hoàn toàn rác. Những gì tôi muốn làm là xác thực caminput1
, để định dạng là HH:MM:SS
.
Các băm là từ khi tôi đang thử nghiệm.
def cameraspeedcheck[]:
timeformat = ["%H:%M:%S"]
caminput1 = input["At what time did sensor 1 actuate? "]
# is caminput1 = time[HH:MM:SS]
# time.strptime[caminput1[%H:%M:%S]]
caminput1.strptime[timeformat]
# else cameraspeedcheck[]
Tôi không có kinh nghiệm lắm với cú pháp của tất cả các công cụ này, hoặc mã hóa nói chung, nhưng trước khi bạn bảo tôi đi và tìm kiếm nó.
Tôi đã tìm kiếm xung quanh từ lâu, và tôi không thể tìm thấy bất cứ điều gì giải thích toàn bộ quá trình.
Để xác nhận các định dạng ngày và giờ, chúng ta có thể xác định hàm trợ giúp sử dụng mã strftime để kiểm tra các chuỗi phù hợp. Trong ví dụ sau, chúng tôi sử dụng mã
%Y-%m-%d
để kiểm tra ngày phù hợp với mẫu Yyyy-MM-DD: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from datetime import datetime
from datatest import validate
def strftime_format[format]:
def func[value]:
try:
datetime.strptime[value, format]
except ValueError:
return False
return True
func.__doc__ = f'should use date format {format}'
return func
data = ['2020-02-29', '03-17-2021', '2021-02-29', '2021-04-01']
validate[data, strftime_format['%Y-%m-%d']]
Các chuỗi ngày không phù hợp với định dạng cần thiết được gắn cờ là Invalid
:
Traceback [most recent call last]: File "example.py", line 17, in validate[data, strftime_format['%Y-%m-%d']] datatest.ValidationError: should use date format %Y-%m-%d [2 differences]: [ Invalid['03-17-2021'], Invalid['2021-02-29'], ]
Trên đây, ngày 03-17-2021
không hợp lệ vì nó không được hình thành tốt và 2021-02-29
không hợp lệ vì năm 2021 không phải là một năm bước nhảy vọt nên ngày cuối cùng của tháng 2 là ngày 28 không có ngày 29 tháng 2 trong năm đó.
Mã strftime cho các định dạng phổ biến Jo
Bạn có thể sử dụng các mã định dạng sau với hàm được xác định trước đó để xác thực nhiều định dạng ngày và thời gian phổ biến [ví dụ: ____10]:format codes with the function defined earlier to validate many common date and time formats [e.g.,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 170]:
| YYYY-MM-DD | 2021-03-17 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 172 | MM/DD/YYYY | 3/17/2021 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 173 | DD/MM/YYYY | 17/03/2021 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 174 | DD.MM.YYYY | 17.03.2021 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 175 | Tháng DD Yyyy | 17 tháng 3 năm 2021 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 176 | Mnth dd, yyyy | Ngày 17 tháng 3 năm 2021 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 177 | Wkday mnth dd H: M: S yyyy | Thứ tư 17 tháng 3 19:42:50 2021 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 178 | Thời gian 12 giờ | 7:42 tối 1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 179 | Thời gian 24 giờ với vài giây | 19:42:50 |
Trong mô -đun Python từ
from datetime import datetime from datatest import validate def strftime_format[format]: def func[value]: try: datetime.strptime[value, format] except ValueError: return False return True func.__doc__ = f'should use date format {format}' return func data = ['2020-02-29', '03-17-2021', '2021-02-29', '2021-04-01'] validate[data, strftime_format['%Y-%m-%d']]0, xem mã định dạng strftime [] và strptime [] cho tất cả các mã được hỗ trợ.
Chú thích
1Mã
from datetime import datetime from datatest import validate def strftime_format[format]: def func[value]: try: datetime.strptime[value, format] except ValueError: return False return True func.__doc__ = f'should use date format {format}' return func data = ['2020-02-29', '03-17-2021', '2021-02-29', '2021-04-01'] validate[data, strftime_format['%Y-%m-%d']]1 mong đợi hệ thống Locale tương đương với AM hoặc PM. Ví dụ: Locale
from datetime import datetime from datatest import validate def strftime_format[format]: def func[value]: try: datetime.strptime[value, format] except ValueError: return False return True func.__doc__ = f'should use date format {format}' return func data = ['2020-02-29', '03-17-2021', '2021-02-29', '2021-04-01'] validate[data, strftime_format['%Y-%m-%d']]2 sử dụng của AM AM và và pm pm trong khi địa phương
from datetime import datetime from datatest import validate def strftime_format[format]: def func[value]: try: datetime.strptime[value, format] except ValueError: return False return True func.__doc__ = f'should use date format {format}' return func data = ['2020-02-29', '03-17-2021', '2021-02-29', '2021-04-01'] validate[data, strftime_format['%Y-%m-%d']]3 sử dụng của AM AM và và PM PM.