최선의 방법은 무엇일을 조작할 날짜 및 타임 스탬프 Java?

StackOverflow https://stackoverflow.com/questions/87676

  •  01-07-2019
  •  | 
  •  

문제

모든 시간이 필요해요 작업의 날짜 및/또는 timstamps 자바에서 나는 항상 같은 느낌을 내가 뭔가 잘못는 시간을 보내고 더 나은 방법을 찾기 위해 작업의 Api 를 하지 않고 코드 내의 자신의 날짜 및 시간 유틸리티 클래스가 있습니다.여기에 몇 가지의 일을 내가 다만에 달렸다:

  • 0-기반으로 개월입니다.나는 사용하는 것이 가장 좋습 달력이다.월 8 대신하지만,그가 8 나타내고하지 않습니다.

  • 을 받고 없이 날짜를 타임 스탬프.나는 항상 필요로 하는 유틸리티를 제 타임스탬프의 부분 날짜입니다.

  • 내가 알고있는 다른 문제가 나는 과거에 있었다,하지만 할 수 없습니다.무료 느낌을 더 추가하려면에서의 응답합니다.

그래서 제 질문은...무엇이 타인 Api 당신은 당신을 단순화하는 데 사용하는 자바의 사용량의 날짜 및 시간을 조작이 있다면?모든 생각을 사용하기에 Joda?사람이 보다 더 가까이서 JSR-310 날짜 및 시간 API?

도움이 되었습니까?

해결책

이 게시물 좋은 토론 비교 Java 날짜/시간 API 대 JODA.

나 개인적으로만 사용 그레고리력Simpledateformat 의 모든 시간을 조작할 필요가 날짜/시간에서 Java.나는 결코 정말을 사용하여 어떤 문제가 Java API 아주 쉽게 찾을 사용할 수 있으므로,지 정말로 어떤 대안이 있다.

다른 팁

java.시간

Java8 과 나중에 지금이 포함됩 java.시간 framework.영 Joda 간, 에 의해 정의 JSR310,확장 ThreeTen-추가 프로젝트입니다.보 튜토리얼.

이 프레임워크에 대신 늙은 java.util.날짜/.일정됩니다.변환 방법 당신이 당신 앞뒤로 변환하는 작업과 오래된 코드 아이 업데이트에 대한 java.시간 형식입니다.

핵심 클래스:

이 프레임워크를 해결한 부부의 문제가 당신은 나열됩니다.

0-따라 달

달 숫자는 1-12 에서 java.시간입니다.

더 나은, Enum (Month)가 제공하는 객체를 인스턴스를 각각하고 있다.그래서 당신은 필요에 의존하지 않"magic"숫자에서 같은 코드 910.

if ( theMonth.equals ( Month.OCTOBER ) ) {  …

또한,는 열거를 포함 몇 가지 유용한 유틸리티 등의 방법으로 얻기 달의 지역화된 이름입니다.

면 아직 익숙하지 않으로 Java 를 사용하여 열거,읽 튜토리얼 와 연구니다.그들은 놀랍게도 편리하고 강력합니다.

시간 없이 날짜

LocalDate 클래스를 나타내는 날짜-값만,없는 시간의 일하지 않고,시간 영역입니다.

LocalDate localDate = LocalDate.parse( "2015-01-02" );

참고 결정하는 날짜 필요합니다.새로운 날 새벽에서 이전보다 파리 몬트리올에서 어디 그것은 여전히'어제'.이 ZoneId 준 시간대를 대표합니다.

LocalDate today = LocalDate.now( ZoneId.of( "America/Montreal" ) );

마찬가지로,거기에 LocalTime 수업 시간을 아직에 묶여 날 또는 시간입니다.


에 대한 java.시간

java.시간 프레임워크 구축으로 Java8 니다.이러한 클래스를 대신한 귀찮은 옛 레거시 날짜간와 같은 클래스 java.util.Date, Calendar, & SimpleDateFormat.

Joda 간 프로젝트에 지금 정비 모드, 지 마이그레이션 java.시간 클래스입니다.

자세한 내용은 다음을 참조하세요합 Oracle 튜토리얼.검색 Stack Overflow 에 대한 많은 예제 및 설명이 있습니다.사양 JSR310.

어디를 구하 java.시간 클래스가?

ThreeTen-추가 프로젝트 확장 java.시간으로 추가됩니다.이 프로젝트는 시험장에 대한 가능한 미래를 추가하 java.시간입니다.당신이 찾을 수 있습니다 몇 가지 유용한 클래스가 여기에 등 Interval, YearWeek, YearQuarter, 고 more.

Apache Commons Lang 프로젝트 DateUtils 클래스를 수행하는 유일 작업입니다.

내가 사용하는 DateUtils.truncate() 많은 것이"영으로"부품의 날을 위해 당신은(유용하려면 날짜 객체를 나타내는 날짜는 포함하지 않고 어떤 시간에 정보).각각의 작동 방법 모두에 대한 DateCalendar 체 too.

http://commons.apache.org/lang/

사용 했습니다 Joda 에 대한 독점적으로 세 가지고 확실히 그것을 추천하고 싶습니다-그것은 전체적인 지역으로 덮여하는 인터페이스'는 무엇을 말한다'.

Joda 할 수 있는 복잡하게 보일 때 당신은 시작으로,예를 들면 그것은 개념의 기간,지속 시간 및 간격으로 보이는 종류의 비슷하지만,떨어져 시작할 수 있습니다 단순히 대체하여 org.joda.time.DateTime (나 org.joda.time.DateMidnight 의) java.util.Date 코드에서,그리고 고집하는 많은 유용한 방법에는 해당 클래스를 포함,이해하기 전에 다른 지역입니다.

사용 GregorianCalendar-always and everywhere.간단한 java.util.날짜가 너무 복잡,그래.

그래서 내가 충고-사용하여 GC,간단한

그것은 동일한 자바 스크립트에서.누군가가 있어야 합니 무언가를 생각할 때 그것은 좋은 생각을 하자는 2008 년 평균,2008 년 31 을 의미하는 31 일,그리고-이것은 최고의 일부-11 을 의미하는 것으로 12 개월.

다른 한편으로,그들은 그것을 가지고 오른쪽에 두 개의 세 가지입니다.

는 것은 항상 저를 얻으로 Java 날짜 시간 라이브러리입니다.나는 사용되지 않 Joda,그리고 잠시 그것을 보면처럼 보이는 그것의 아주 좋은 구현,그리고 내가 이해하는 경우 JSR-130 제대로의 복용에서 지식 Joda 고 결국 그것에 포함되어 있 JavaSE.

종종 과거의 프로젝트 나는 감 Java 날짜 시간 객체에서는 자체는 아주 작업입니다.다음 사용되는 포장지한 날짜입니다.

날짜 Api 하기가 매우 어려운 디자인,특히 그들을 처리해야 현지화.을 출시하려고하고,그것의 가치가 적어도 한 번.는 사실 Joda 을 할 수 있었다 그런 좋은 일은 실용자.귀하의 질문에 대답하기 위해,나는 아무것도 하지만 좋은 것들에 대해는 라이브러리,그래도 나는 결코 주변을 연주합니다.

많은 프로그래머의 시작 날짜를 사용하는 수많은 사용되지 않 오버로드 생성자(어렵게 사용),을 GregorianCalendar 가 조금 더 쉽게 관리할 수 있습니다.예 여기에 매우 도움이 되:

http://java.sun.com/j2se/1.4.2/docs/api/java/util/GregorianCalendar.html

그것은 정말 간단의 날짜 API 에 앉아 있는 최고의 원 Java 클래스,날짜 및 일정입니다.기본적으로 모두 날짜와 일정에서 겪는 사실을하려고 밀어 넣는 두 가지 개념으로 하나의 클래스:

  1. 날짜(i.e년월일)
  2. 즉시(i.e메소드)

할 때 이해,그것은 단지 혁명을 처리하는 방법은 날짜에 같은 개념에서 당신의 코드입니다.일 될 것입니다 간단 명확하다 더 낫습니다.모든 감각!

나를 위해,Joda 통해 복잡한에 대한 최소한의 대부분은 목적이고 나는 특히 좋아하지 않는다는 사실가 표준 Java 양식,하나의 예에는 그들이 어떻게 분석하고 형식으로 날짜입니다.스티븐 Colebourne,사람 뒤에 JODA,은 사양의 리드 JSR-310 이 겪고 있에서 같은 문제 이럴(난 다음에 기여하는 토론 지난 몇 년 동안).

그것은 스;그것은 간단합니다.서는 다음과 같은 클래스:MyDate(포장년월일),달(enum),TimeOfDay(시간 분 초 밀리스),DayOfWeek(enum),인스턴트(포장 긴).항상 고려 시간 영역을 변환할 때 시간과 날짜를 입력하기만 하면 됩니다.

이 발굴,사용할 수 있는 달력과 simpledateformat 의습니다.당신이 하루에 그것을 후회하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top