Định dạng tiêu chuẩn của Nhật Bản để sử dụng dấu thời gian như là một phần của tên tệp [đã đóng]


85

Tôi đã tìm kiếm một định dạng chuẩn để sử dụng ngày / giờ như một phần của tên tệp và không thể đưa ra bất cứ điều gì.

Câu hỏi của tôi là hai phần:

Đang sử dụng tem thời gian để thực thi duy nhất trong tập tin tên một thực hành kém?

Tôi có thể lấy thời gian từ ngày tạo và tuần tự hóa tên tệp (file0001.bak, file0002.bak, v.v.) nhưng chỉ cần bao gồm dấu thời gian cho phép thực hiện các thao tác tệp như mv 2011-01* somewhere/. Có một nhược điểm để sử dụng loại hệ thống đặt tên này?

Định dạng tôi đang sử dụng là YYYY-mm-dd_HH-MM-SS.

Có một định dạng tốt hơn tôi nên sử dụng?

Với định dạng này tôi có nên quan tâm đến khả năng tương thích hệ thống tập tin, mối quan tâm str_to_date_parsing, vv?

Cảm ơn!

biên tập:

Tôi có thể đã muốn bỏ qua thực thi chút độc đáo vì nó là một người dùng tạo bản sao lưu đơn sử dụng một cronjob (không nên có bất kỳ vấn đề đồng thời).


9
Nói chung, tôi chỉ sử dụng YYYYmmddHHMMSS, sau đó nó có thể được sắp xếp / lọc theo số lượng hoặc từ vựng.
Orble

Tôi sử dụng "yyyy mmdd hhmm". Công ty của tôi có phạm vi toàn cầu, vì vậy tôi đóng dấu thời gian bằng cách sử dụng GMT. Vì vậy, khi tôi viết bài này, nó sẽ là "2011 0325 0245", bởi vì đó là thời gian ở Luân Đôn ngay bây giờ (và họ vẫn đang ở thời gian chuẩn vào lúc này). Nếu tôi muốn chỉ định theo giờ địa phương, đó là Giờ phương Đông đối với tôi, thì tôi sẽ sử dụng "yyyy mmdd hhmm ET".
Mike Rosenblum

Tôi sử dụng giây kể từ Kỷ nguyên vì vậy tôi không phải đối phó với múi giờ, tiết kiệm ánh sáng năm và ngày. Cũng làm cho toán ngày / giờ dễ dàng hơn.
Dietbuddha


2
Tôi đề xuất một định dạng dựa trên ISO 8601 trong một bài đăng tại blog.xam.de/2016/07/ trên - sẽ làm cho thế giới của chúng ta dễ dàng hơn, nếu chúng ta có thể đồng ý về một định dạng :-)
Tiến sĩ Max Völkel

Câu trả lời:


62

Bạn nên xem xét định dạng ISO 8601 (2013-04-01T13: 01: 02). Vâng, có những tiêu chuẩn cho những điều này. Các dấu hai chấm và dấu gạch nối có thể được bỏ qua.

Chuỗi định dạng tôi thường sử dụng là %Y%m%dT%H%M%Snăng suất 20130401T130102. Tùy thuộc vào yêu cầu tôi bỏ qua các giá trị từ bên trái. Trong một tập lệnh bash tôi nhận được ngày với một dòng như:

LOGDATE=$(date +%Y%m%dT%H%M%S)

32
Dấu hai chấm chắc chắn sẽ phải được bỏ qua nếu bạn sử dụng hệ thống Windows, vì chúng là bất hợp pháp trong tên tệp!
Carson63000

2
Đối với những người sử dụng strftime, chuỗi định dạng là"%Y-%m-%dT%H:%M:%S%z"
Alec Jacobson

6
Tôi sử dụng YYYY-MM-DD-HHMMSS(tôi có thể bỏ qua SStrong một số trường hợp). Phần ngày khá dễ đọc và phần thời gian có thể đọc đủ cho hầu hết các mục đích.
Keith Thompson

15
Tiêu chuẩn hay không, "20130401T1301102" không thân thiện với người dùng. Mắt tôi đau khi nhìn thấy các logfile phần mềm với các loại dấu thời gian này trong tên của chúng.
Zero3

1
2019.04.01-13.01.02.JPGhoặc tên tương tự (ví dụ 190401-130102.JPG:) là tốt hơn cho mắt. @ Zero3
S.Serpooshan

4

Tôi đã tìm kiếm một định dạng chuẩn để sử dụng ngày / giờ như một phần của tên tệp và không thể đưa ra bất cứ điều gì.

Câu hỏi của tôi là hai phần:

Việc sử dụng một dấu thời gian để thực thi tên tệp duy nhất là một thực tiễn kém?

Không, nó ổn.

Tôi có thể lấy thời gian từ ngày tạo và tuần tự hóa tên tệp (file0001.bak, file0002.bak, v.v.)

Đánh số chúng theo tuần tự là công việc nhiều hơn. Hãy nghĩ về dấu thời gian như một cách đánh số ngày càng tăng nhưng không tuần tự.

nhưng chỉ bao gồm dấu thời gian cho phép thực hiện các thao tác tệp như mv 2011-01 * ở đâu đó /. Có một nhược điểm để sử dụng loại hệ thống đặt tên này?

Không, nó đã được thực hiện tất cả các thời gian.

Định dạng tôi đang sử dụng là YYYY-mm-dd_HH-MM-SS.

Điều đó tốt, bởi vì họ sẽ sắp xếp theo thứ tự thời gian. Tôi sẽ mất dấu gạch dưới, chỉ vì việc nhập dấu gạch nối dễ dàng hơn.

Có một định dạng tốt hơn tôi nên sử dụng?

Không hẳn vậy.


2
Tôi muốn nói "Sử dụng định dạng thời gian tiêu chuẩn ISO". Vì vậy, YYYY-mm-ddTHH: MM: SS (hoặc yyyymmddTHHMMSS).
Vatine

3

Nó phụ thuộc vào ứng dụng của bạn. Đôi khi một dấu thời gian như cái mà bạn mô tả có thể được sử dụng. Đôi khi, khi xung đột tên là mối quan tâm, bạn có thể sử dụng trình tạo GUID .


2

Định dạng bạn đang sử dụng là ổn nhưng nếu bạn muốn tính duy nhất và thời gian không có ý nghĩa gì khác, bạn có thể gặp vấn đề tương tranh trong ứng dụng của mình nếu ứng dụng được sử dụng bởi nhiều người dùng cùng một lúc và tất cả đều khiến các tệp được tạo giống nhau thư mục. Nếu bạn chỉ muốn tính duy nhất, bạn có thể xem xét việc tạo GUID và xóa bất kỳ ký tự không hợp lệ nào như dấu ngoặc nhọn và dấu gạch ngang và sử dụng nó làm tên tệp.



-3

FBI có một vấn đề "người dùng" duy nhất là sao lưu 100 triệu dấu vân tay bắt giữ tội phạm mà họ nhận được từ tất cả cảnh sát ở khắp mọi nơi ...

... họ bắt đầu với ngày: yyyymmdd

Tôi không biết làm thế nào họ tiếp tục. Tôi tiếp tục với hhmm và đối với tôi điều đó.

Sử dụng GMT / Zulu nghe có vẻ là một ý tưởng tuyệt vời cho một giải pháp toàn cầu. Cá nhân tôi sử dụng ET và FBI "cá nhân" cũng sử dụng ET vì đó là nơi họ đặt trụ sở chính.


3
Điều này không thêm bất cứ điều gì vào cuộc thảo luận chung chung hơn trong các bài viết khác, mà thực sự chạm đến các khía cạnh như các ký tự pháp lý và sắp xếp và tính độc đáo.
Martijn Pieters
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.