Tôi muốn đi với clj-time, thư viện Clojure chuẩn để xử lý thời gian và ngày (gói Joda-Time). Có, nó là một phụ thuộc thêm cho một nhu cầu đơn giản và có thể quá mức cần thiết nếu bạn thực sự chỉ muốn dấu thời gian hiện tại; thậm chí sau đó nó chỉ là một tiện ích tốt đẹp hầu như không có chi phí. Và nếu bạn cuối cùng cũng cần thêm chức năng liên quan đến thời gian, thì nó sẽ có mặt ở đó với việc thực hiện tuyệt vời tất cả các khái niệm cơ bản.
Đối với các mã, đây là Leiningen phụ thuộc specifier cho phiên bản hiện tại:
[clj-time "0.5.1"]
Và đây là một đoạn mã để nhận được dấu thời gian hiện tại:
(require '[clj-time.core :as time]
'[clj-time.coerce :as tc])
;; milliseconds since Unix epoch
(tc/to-long (time/now))
;; also works, as it would with other JVM date and time classes
(tc/to-long (java.util.Date.))
Nguồn
2013-07-03 18:19:49
Đừng sử dụng ' int': '(int (/ (.getTimeInMillis (java.util.GregorianCalendar. 2038 1 20)) 1000)); => Giá trị IllegalArgumentException ngoài phạm vi cho int: 2150258400'. Thay vào đó, hãy thử 'quot', ví dụ: '(-> (java.util.Date.) .getTime (quot 1000))'. –