{"id":15044197,"url":"https://github.com/harryjhin/java-time-extensions","last_synced_at":"2025-09-08T09:39:41.315Z","repository":{"id":252685422,"uuid":"841133931","full_name":"HarryJhin/java-time-extensions","owner":"HarryJhin","description":"java.time package extension library for the Kotlin language","archived":false,"fork":false,"pushed_at":"2024-09-05T07:57:48.000Z","size":335,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T04:51:14.249Z","etag":null,"topics":["dokka","github-pages","gradle","jreleaser","kotlin","library","maven-central","maven-publish"],"latest_commit_sha":null,"homepage":"https://harryjhin.github.io/java-time-extensions/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HarryJhin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-11T18:29:55.000Z","updated_at":"2025-03-11T13:46:56.000Z","dependencies_parsed_at":"2024-08-11T19:54:39.004Z","dependency_job_id":"238ab4ee-6c9d-43c2-93cd-dcdf918019ed","html_url":"https://github.com/HarryJhin/java-time-extensions","commit_stats":null,"previous_names":["harryjhin/java-time-extensions"],"tags_count":52,"template":false,"template_full_name":null,"purl":"pkg:github/HarryJhin/java-time-extensions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HarryJhin%2Fjava-time-extensions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HarryJhin%2Fjava-time-extensions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HarryJhin%2Fjava-time-extensions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HarryJhin%2Fjava-time-extensions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HarryJhin","download_url":"https://codeload.github.com/HarryJhin/java-time-extensions/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HarryJhin%2Fjava-time-extensions/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274166449,"owners_count":25233955,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dokka","github-pages","gradle","jreleaser","kotlin","library","maven-central","maven-publish"],"created_at":"2024-09-24T20:50:12.071Z","updated_at":"2025-09-08T09:39:41.210Z","avatar_url":"https://github.com/HarryJhin.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Deploy static content to Pages](https://github.com/HarryJhin/java-time-extensions/actions/workflows/static.yml/badge.svg)](https://github.com/HarryJhin/java-time-extensions/actions/workflows/static.yml)\n[![CI](https://github.com/HarryJhin/java-time-extensions/actions/workflows/ci.yml/badge.svg)](https://github.com/HarryJhin/java-time-extensions/actions/workflows/ci.yml)\n[![Publish to Sonatype](https://github.com/HarryJhin/java-time-extensions/actions/workflows/publish.yml/badge.svg)](https://github.com/HarryJhin/java-time-extensions/actions/workflows/publish.yml)\n[![Maven Central](https://img.shields.io/maven-central/v/io.github.harryjhin/java-time-extensions.svg?label=Maven%20Central)](https://central.sonatype.com/artifact/io.github.harryjhin/java-time-extensions)\n[![Kotlin](https://img.shields.io/badge/kotlin-2.0.0-blue.svg?logo=kotlin)](http://kotlinlang.org)\n[![KDoc link](https://img.shields.io/badge/API_reference-KDoc-blue)](https://harryjhin.github.io/java-time-extensions/)\n[![License](https://img.shields.io/github/license/HarryJhin/java-time-extensions)](https://opensource.org/licenses/MIT)\n\n# Kotlin용 java.time.* 확장 라이브러리\n\n`java-time-extensions`는 `java.time.*` 패키지를 확장하여 Kotlin 사용자에게 더 편리한 기능을 제공합니다.\n이 라이브러리는 Kotlin 개발자들이 `java.time.*` API를 사용할 때 자주 필요한 기능을 쉽게 사용할 수 있도록 도와줍니다.\n\n사용 예시는 [Wiki](https://github.com/HarryJhin/java-time-extensions/wiki)를 참조하세요.\n\n## 주요 특징\n\n`java-time-extensions`는 Kotlin 사용자들에게 `java.time.*` 패키지의 다양한 클래스(`LocalDate`, `LocalTime`, `LocalDateTime` 등)를\n확장하여 더욱 편리하게 사용할 수 있도록 돕는 라이브러리입니다.\n이 라이브러리는 확장 함수와 확장 프로퍼티를 통해 기존 API를 간편하게 확장하여 사용할 수 있는 기능을 제공합니다.\n\n주요 기능들은 다음과 같습니다:\n\n- **다양한 날짜 및 시간 타입 확장**: `java.time.*` 패키지의 여러 클래스에 대한 유용한 확장 기능을 제공합니다.\n- **편리한 인스턴스 생성**: `String`, `Int`, `Long` 등의 다양한 타입으로부터 쉽게 인스턴스를 생성할 수 있습니다.\n- **유연한 타입 변환**: 날짜 및 시간 인스턴스를 다른 타입으로 쉽게 변환할 수 있도록 도와줍니다.\n- **Safety 타입 변환**: 다양한 타입 변환 함수들은 예외를 던지지 않고 `null`을 반환할 수 있도록 지원합니다.\n- **직관적인 중위 함수**: `LocalDate`와 `LocalTime`을 결합하여 `LocalDateTime`을 만들거나,\n두 `LocalDate` 인스턴스 간의 차이를 계산하는 등, 기존 메서드를 사용하는 것보다 직관적인 문법을 제공합니다.\n\n## 핵심 개념\n\n`java-time-extensions`는 **생성**, **기간**, **연산**, **분해**, **결합**, **비교**, **포맷팅**을 위한 다양한 확장 함수를 제공합니다.\n\n### 생성\n\n`java-time-extensions`는 다양한 타입으로부터 `java.time.*` 인스턴스를 생성할 수 있는 확장 함수를 제공합니다.\n\n```kotlin\nval date: LocalDate = \"2021-01-01\".toLocalDate() // 2021-01-01\n```\n\n### 기간\n\n`java-time-extensions`는 기간 개념을 다루는 확장 기능을 제공합니다.\n\n```kotlin\nval period: Pariod = 1.days // P1D\n```\n\n### 연산\n\n`java-time-extensions`는 날짜 및 시간 인스턴스의 연산을 위해 확장 기능을 제공합니다.\n\n```kotlin\nval date: LocalDate = \"2021-01-01\".toLocalDate() + 1.days // 2021-01-02\n```\n\n### 분해\n\n`java-time-extensions`는 날짜 및 시간 인스턴스를 분해하는 확장 기능을 제공합니다.\n\n```kotlin\nval year: Year = \"2021-01-01\".toLocalDate().toYear() // 2021\n```\n\n### 결합\n\n`java-time-extensions`는 날짜 및 시간 인스턴스를 결합하는 확장 기능을 제공합니다.\n\n```kotlin\nval dateTime: LocalDateTime = \"2021-01-01\".toLocalDate() at \"12:00\".toLocalTime() // 2021-01-01T12:00\n```\n\n### 비교\n\n`java-time-extensions`는 날짜 및 시간 인스턴스를 비교하는 확장 기능을 제공합니다.\n\n```kotlin\nval period: Period = \"2021-01-01\".toLocalDate() betweeb \"2021-02-01\".toLocalDate() // P1M\n```\n\n### 포맷팅\n\n`java-time-extensions`는 날짜 및 시간 인스턴스를 포맷팅하는 확장 기능을 제공합니다.\n\n```kotlin\nval string: String = \"2021-01-01\".toLocalDate().toString(\"yyyyMMdd\") // 20210101\n```\n\n## kotlinx - datetime 비교\n\n`kotlinx-datetime` 은 시간대를 포함한 civil time (상용시) 을 다루는데 특화된 라이브러리입니다.\n예를 들어, kotlinx - datetime은 모든 시간 객체에 시간대 정보를 포함시키며,\n이를 통해 로컬 시간대 (예: UTC + 9)와 관련된 작업을 쉽게 처리할 수 있습니다.\n이 라이브러리는 시간대 정보가 필요하지 않은 단순한 연산 (예: 한 달 더하기)도 지원합니다.\n\n반면, `java-time-extensions` 는 `java.time.*` 패키지를 기반으로 하여,\n기존의 API를 더 편리하게 사용할 수 있도록 돕는 확장 기능을 제공합니다.\n`kotlinx-datetime` 처럼 새로운 엔티티나 시간대에 대한 복잡한 처리를 추가하지는 않습니다.\n대신, `java.time.*` 패키지를 사용하는 Kotlin 사용자들이 더 쉽게 날짜와 시간을 다룰 수 있도록 하는 것이 이 라이브러리의 주된 목적입니다.\n따라서 `java-time-extensions` 는 `kotlinx-datetime` 을 대체하기 위한 것이 아니라,\n이미 `java.time.*` 을 사용하고 있는 Kotlin 개발자들에게 **더 나은 개발 경험을 제공** 하는 데 초점을 맞추고 있습니다.\n\n## Gradle 설정\n\n### build.gradle\n\n```groovy\nrepositories {\n    mavenCentral()\n}\n\ndependencies {\n    implementation 'io.github.harryjhin:java-time-extensions:$version'\n}\n```\n\n### build.gradle.kts\n\n```kotlin\nrepositories {\n    mavenCentral()\n}\n\ndependencies {\n    implementation(\"io.github.harryjhin:java-time-extensions:$version\")\n}\n```\n\n## License\n\n라이센스 권한 및 제한사항은 [LICENSE](LICENSE) 파일을 참조하세요 (MIT).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharryjhin%2Fjava-time-extensions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharryjhin%2Fjava-time-extensions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharryjhin%2Fjava-time-extensions/lists"}