라벨이 ObjextId인 게시물 표시

몽고디비 _id 값을 서버에서 내려주면 아이폰과 안드로이드에서 Date 변환하는 방법

보통 서버에서 서비스를 만들때 몽고디비를 많이 사용합니다. 이때 _id 는 날짜와 시간을 기반으로 생성됩니다. ObjectId("62b47ff00000000000000000") 몽고디비 쉘에서는 getTimestamp() 로 날짜와 시간을 가져올 수 있습니다. 서비스에서 ObjectId 방식으로 데이터를 내리고 모바일(아이폰 및 안드로이드)에서 날짜를 변환해서 사용하는 방법을 소개하고자 합니다. 먼저 아이폰에서 사용할 스위프트용 함수입니다. func ObjectIdToDate(id: String) -> Date {   var resultDate = Date()   let endIdx: String.Index = id.index(id.startIndex, offsetBy: 7)   let hex = id[id.startIndex...endIdx]   if let offset = UInt32(hex, radix: 16) {     resultDate = Date(timeIntervalSince1970: TimeInterval(offset))   }   return resultDate } 안드로이드에서 사용할 자바 메소드입니다. public Date ObjectIdToDate(String id) {   String hex = id.substring(0, 8);   Long x = Long.parseLong(hex, 16) * 1000;   return new Date(x); } 이런식으로 공통 함수를 만들어 사용하면 편합니다.