몽고디비 _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); } 이런식으로 공통 함수를 만들어 사용하면 편합니다.