투케이2K

359. (kotlin/코틀린) [유틸 파일] getFormNowDate : 사용자가 지정한 형식에 맞게 현재 날짜 및 시간 데이터 반환 본문

Kotlin

359. (kotlin/코틀린) [유틸 파일] getFormNowDate : 사용자가 지정한 형식에 맞게 현재 날짜 및 시간 데이터 반환

투케이2K 2023. 7. 21. 21:19

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

        // -----------------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [RETURN] getFormNowDate : 사용자가 지정한 형식에 맞게 현재 날짜 및 시간 데이터 반환
        // -----------------------------------------------------------------------------------------
        fun getFormNowDate(form: String): String {

            /**
             * // -----------------------------------------
             * [getFormNowDate 메소드 설명]
             * // -----------------------------------------
             * 1. getFormNowDate : 사용자가 지정한 형식에 맞게 현재 날짜 및 시간 데이터 반환
             * // -----------------------------------------
             * 2. 호출 방법 : C_Util.getFormNowDate("yyy-MM-dd HH:mm:ss SSS E요일")
             * // -----------------------------------------
             * 3. 리턴 데이터 : 2023-07-21 14:34:20 금요일
             * // -----------------------------------------
             */


            // [변수 선언 실시]
            var returnData = ""
            var m_log = ""
            var errorFlag = false


            // [로직 처리 실시]
            try {

                // [1]. 인풋 값 널 체크 수행
                if (stringNotNull(form) == false) {
                    m_log = "[ERROR] : Input Data Is Null"
                    errorFlag = true
                }


                // [2]. 특정 값을 포함하는지 확인
                if (form.contains("yyyy") == true || form.contains("MM") == true || form.contains("dd") == true
                    || form.contains("HH") == true || form.contains("kk") == true || form.contains("mm") == true
                    || form.contains("ss") == true || form.contains("SSS") == true || form.contains("E") == true) {

                    // [하나라도 포함되어 있는 경우]

                } else {
                    m_log = "[ERROR] : Data Check Error"
                    errorFlag = true
                }


                // [3]. 입력 값에 맞게 현재 날짜 및 시간 데이터 반환
                if (errorFlag == false) {
                    val time = System.currentTimeMillis()
                    val simpleDateFormat = SimpleDateFormat(form, Locale.KOREA)
                    val value = simpleDateFormat.format(Date(time))


                    // [4]. [리턴 변수에 삽입]
                    returnData = value
                    m_log = "[SUCCESS] : Form Date Return"
                }

            } catch (e: Exception) {
                e.printStackTrace()

                m_log = "[Exception] : " + e.message.toString()
                errorFlag = true
            }


            // [로그 출력]
            //*
            // ===============================================================
            S_Log._D_("사용자가 지정한 형식에 맞게 현재 날짜 및 시간 데이터 반환", arrayOf(
                "INPUT :: $form",
                "M_LOG :: $m_log",
                "RETURN :: $returnData"
            ))
            // ===============================================================
            // */


            // [리턴 데이터 반환 실시]
            return returnData
        }
 

[결과 출력]

 

D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.kotlinproject.C_Util$Companion.getFormNowDate(C_Util.kt:5715)]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 사용자가 지정한 형식에 맞게 현재 날짜 및 시간 데이터 반환]
I/: ----------------------------------------------------
I/: [LOG :: INPUT :: yyy-MM-dd HH:mm:ss SSS E요일]
I/: ----------------------------------------------------
I/: [LOG :: M_LOG :: [SUCCESS] : Form Date Return]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: 2023-07-21 14:24:15 232 금요일]
D///===========//: ================================================

 

반응형
Comments