투케이2K

35. (swift/xcode) date to milli seconds 날짜 데이터를 초 단위로 변환 수행 실시 - 타임 스탬프 본문

Swift

35. (swift/xcode) date to milli seconds 날짜 데이터를 초 단위로 변환 수행 실시 - 타임 스탬프

투케이2K 2022. 2. 10. 13:21
반응형

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    func testMain(){
        print("")
        print("===============================")
        print("[ViewController >> testMain() :: 메인 함수 수행 실시]")
        print("===============================")
        print("")
        
        // [date >> seconds 변환 수행 실시]
        var seconds = Date().Date_To_MilliSeconds
        
        
        // [seconds >> date 변환 수행 실시]
        var date = Date(MilliSeconds_To_Date: seconds)
        
        
        // [결과 데이터 출력 수행 실시]
        print("")
        print("===============================")
        print("[ViewController >> testMain() :: 결과 확인 수행]")
        print("date [날짜] :: ", date)
        print("milli seconds [밀리 세컨드] :: ", seconds)
        print("===============================")
        print("")
        
        
        // [추가 : string to Int64 형변환 수행]
        var _start_str = "1644466392686"
        var _end_str = "1644466169826"
        
        // [string 문자열이 Int 정수값으로 구성되었는지 확인 : isNumber]
        var _start_NotNumber_Flag = false
        var _end_NotNumber_Flag = false
        
        for _start_char in _start_str {
            if _start_char.isNumber == false { // 정수 값이 아닌 경우
                _start_NotNumber_Flag = true
            }
        }
        for _end_char in _end_str {
            if _end_char.isNumber == false { // 정수 값이 아닌 경우
                _end_NotNumber_Flag = true
            }
        }
        
        // [두 변수 값이 모두 정수인 경우]
        if _start_NotNumber_Flag == false && _end_NotNumber_Flag == false {
            var _start_int64 = Int64(_start_str) ?? 0 // 형변환
            var _end_int64 = Int64(_end_str) ?? 0 // 형변환
            
            var minus = (_start_int64 - _end_int64) // 밀리세컨드 빼기 수행
            var seconds = minus / 1000 // 초 단위 기준 차이
            var minute = seconds / 60 // 분 단위 기준 차이
            var hour = minute / 60 // 시간 단위 기준 차이
            
            print("")
            print("===============================")
            print("[ViewController >> testMain() :: 데이터 형 변환 확인 수행]")
            print("_start_int64 :: ", _start_int64)
            print("_end_int64 :: ", _end_int64)
            print("minus [빼기 수행] :: ", minus)
            print("(초) 단위 기준 차이 :: ", seconds)
            print("(분) 단위 기준 차이 :: ", minute)
            print("(시간) 단위 기준 차이 :: ", hour)
            print("===============================")
            print("")
        }
    }
​

​

// MARK: [Date to milliseconds 변환 확장 기능 정의 실시]
extension Date {
    
    // [Date >> milliseconds 변환 수행]
    var Date_To_MilliSeconds: Int64 {
        Int64((self.timeIntervalSince1970 * 1000.0).rounded()) // [rounded 반올림 처리]
    }
    
    // [milliseconds >> Date 변환 수행]
    init(MilliSeconds_To_Date: Int64) {
        self = Date(timeIntervalSince1970: TimeInterval(MilliSeconds_To_Date) / 1000)
    }
}
 

[결과 출력]

 

 

반응형
Comments