Điểm:0

cách lấy chênh lệch múi giờ giữa hai ngày và giờ

lá cờ ch

Tôi có nhật ký truy cập từ máy chủ của mình. Tôi cần lấy chênh lệch thời gian giữa hai nhật ký. Nhật ký truy cập của tôi có định dạng thời gian như sau: "14/Apr/2021 06:25:09".

Để lấy sự khác biệt giữa hai dấu thời gian, tôi nghĩ sẽ chuyển đổi các dấu thời gian đã cho thành giây kể từ Epoch và sau đó lấy sự khác biệt.

Ví dụ về nhật ký truy cập:

106.222.52.107 - - [14/Apr/2021:06:25:06 -0400] "POST URL1 HTTP/1.1" 204 4649 708 "Mozilla/5.0 (Linux; Android 11; V2037) AppleWebKit/537.36 (KHTML, như Gecko ) Chrome/83.0.4103.106 Mobile Safari/537.36"

157.34.255.192 - - [14/Apr/2021:06:25:08 -0400] "NHẬN URL2 200 5309 1125" Mozilla/5.0 (Linux; Android 7.1.1; CPH1729 Build/N6F26Q) AppleWebKit/537.36 (KHTML, như Tắc kè) Chrome/61.0.3163.98 Mobile Safari/537.36"

1.38.48.202 - - [14/Apr/2021:06:25:10 -0400] "NHẬN URL3 HTTP/1.1" 200 8692 64616 "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 như Mac OS X) AppleWebKit/605.1. 15 (KHTML, như Gecko) Phiên bản/14.0.3 Di động/15E148 Safari/604.1"

106.222.52.107 - - [14/Apr/2021:06:28:06 -0400] URL4 200 10506 1063 "Mozilla/5.0 (Linux; Android 11; V2037) AppleWebKit/537.36 (KHTML, như Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36"

157.34.255.192 - - [14/Apr/2021:06:29:06 -0400] URL5 200 620 866 "Mozilla/5.0 (Linux; Android 7.1.1; CPH1729 Build/N6F26Q) AppleWebKit/537.36 (KHTML, như Gecko) Chrome/61.0.3163.98 Mobile Safari/537.36"

Vì vậy, tôi muốn chuyển đổi "14/Apr/2021:06:25:06" trong vài giây kể từ epoch.

Tôi đang sử dụng lệnh ngày để chuyển đổi dấu thời gian đã cho trong vài giây. Sau đây là lệnh:

ngày "+%s" -d="14/Apr/2021 06:25:09"

Nó đưa ra lỗi sau:

ngày: ngày không hợp lệ â=14/Apr/2021 06:25:09â

Nhưng khi Tôi hoán đổi vị trí ngày và tháng sau đó nó hoạt động tốt.

ngày "+%s" -d "14/04/2021 06:25:09" Kết quả: 1618399509

Liệu lệnh ngày có một số định dạng được xác định trước? Khó thay đổi định dạng dấu thời gian trong nhật ký truy cập. Bạn có thể vui lòng cung cấp giải pháp cho việc này? Tôi cần viết một tập lệnh shell trong đó tôi cần đọc nhật ký truy cập và tùy thuộc vào IP và dấu thời gian mà tôi cần tạo một tệp dữ liệu khác. Tôi đang sử dụng Ubuntu20.

lá cờ hr
Bạn có thể thấy điều này hữu ích: [Force date to read Day/Month/Year](https://unix.stackexchange.com/questions/296052/force-date-to-read-day-month-year)
guiverc avatar
lá cờ cn
Ubuntu 20? Không có bản phát hành nào như vậy, vậy ý ​​bạn là Ubuntu Core 20? (Ubuntu sử dụng *year.month* cho các sản phẩm dựa trên *deb* & định dạng *year* cho các sản phẩm chỉ *snap*)/ Nó cũng có thể hữu ích nếu bạn *dọn dẹp* bài đăng của mình; ý của bạn là gì khi bắt đầu bằng "*Đã đóng. Câu hỏi này cần chi tiết hoặc rõ ràng. Nó hiện không chấp nhận câu trả lời. Thêm chi tiết và làm rõ vấn đề bạn đang giải quyết. Điều này sẽ giúp người khác trả lời câu hỏi. Bạn có thể chỉnh sửa câu hỏi hoặc đăng một cái mới.*" - vâng, điều đó rất không rõ ràng!
Jeff Schaller avatar
lá cờ ru
Bạn đã lấy quá nhiều văn bản khi sao chép/dán từ [câu hỏi SO đã đóng](https://stackoverflow.com/questions/68493819/convert-a-given-time-stamp-into-seconds); vui lòng cố gắng đặt câu hỏi của bạn gọn gàng và tập trung nhất có thể cho từng cộng đồng. Cảm ơn bạn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.