λ

Menu

  • Home
  • Archives
  • Tags
  • About Me
  • RSS
June 22, 2021

ใช้ Java Calendar class ใน Clojure

พอดีวันนี้ได้ลองเล่น java interop ที่ใช้ class ของ Java ซึ่งตัวอย่างจะเกี่ยวกับวันที่และเวลา (Date & Time) เท่าที่อ่านเจอในเน็ตจะใช้แบบนี้

user=> (def date (java.uitl.Date.))
user=> date
#inst "2021-06-22T15:09:15.448+07:00"
user=> (.getDate date)
22

ซึ่งก็ปกติดี แต่คราวนี้ที่อยากได้คือ Day of year เช่นถ้าตาม date ข้างบน output ที่จะได้คือ 173 แปลว่าเป็นวันที่ 173 ของปีนี้

ถ้าใน Java จะใช้ java.util.Calendar

Calendar calendar = Calendar.getInstance();
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);  

เราจะแปลงโค้ดให้เป็น Clojure ได้แบบนี้

user=> (def date (java.util.Calendar/getInstance))
user=> date
#inst "2021-06-22T15:27:12.274+07:00"
user=> (.get date (. java.util.Calendar DAY_OF_YEAR))
173
=> (.get date (java.util.Calendar/DAY_OF_YEAR)) ; อันนี้น่าจะอ่านง่ายกว่า
173

Reference

  • Java code (StackOverflow)

Tags: clojure java

« บันทึกการใช้คำสั่ง lpr Clojure Ring เบื้องต้น [1] »
Glosa static integration

{{ comments.length }} comments

New comment

Reply  {{ formatEllipsisAuthor(replyComment.author) }}

I accept the policy of Data Protection.

Write the first comment


Copyright © 2023 Phondanai Khanti

Powered by Cryogen | Free Website Template by Download Website Templates