Git Product home page Git Product logo

joda-time's Introduction

Joda-Time

Joda-Time provides a quality replacement for the Java date and time classes. The design allows for multiple calendar systems, while still providing a simple API. The 'default' calendar is the ISO8601 standard which is used by XML. The Gregorian, Julian, Buddhist, Coptic, Ethiopic and Islamic systems are also included. Supporting classes include time zone, duration, format and parsing.

Joda-time is no longer in active development except to keep timezone data up to date. From Java SE 8 onwards, users are asked to migrate to java.time (JSR-310) - a core part of the JDK which replaces this project. For Android users, java.time is added in API 26+. Projects needing to support lower API levels can use the ThreeTenABP library.

As a flavour of Joda-Time, here's some example code:

public boolean isAfterPayDay(DateTime datetime) {
  if (datetime.getMonthOfYear() == 2) {   // February is month 2!!
    return datetime.getDayOfMonth() > 26;
  }
  return datetime.getDayOfMonth() > 28;
}

public Days daysToNewYear(LocalDate fromDate) {
  LocalDate newYear = fromDate.plusYears(1).withDayOfYear(1);
  return Days.daysBetween(fromDate, newYear);
}

public boolean isRentalOverdue(DateTime datetimeRented) {
  Period rentalPeriod = new Period().withDays(2).withHours(12);
  return datetimeRented.plus(rentalPeriod).isBeforeNow();
}

public String getBirthMonthText(LocalDate dateOfBirth) {
  return dateOfBirth.monthOfYear().getAsText(Locale.ENGLISH);
}

Joda-Time is licensed under the business-friendly Apache 2.0 licence.

Tidelift dependency check CII Best Practices

Documentation

Various documentation is available:

Releases

Release 2.12.7 is the current latest release. This release is considered stable and worthy of the 2.x tag. It depends on JDK 1.5 or later.

Available in the Maven Central repository

Maven configuration:

<dependency>
  <groupId>joda-time</groupId>
  <artifactId>joda-time</artifactId>
  <version>2.12.7</version>
</dependency>

Gradle configuration:

compile 'joda-time:joda-time:2.12.7'

Related projects

Related projects at GitHub:

Other related projects:

For enterprise

Available as part of the Tidelift Subscription.

Joda and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.

If you want the flexibility of open source and the confidence of commercial-grade software, this is for you.

Learn more

Support

Please use Stack Overflow for general usage questions. GitHub issues and pull requests should be used when you want to help advance the project.

Any donations to support the project are accepted via OpenCollective.

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

Development and Contributions

Joda-Time is developed using standard GitHub tools. A checkstyle file is available, and PRs must comply with it. The project can be built using Apache Maven, such as mvn clean install. Continuous Integration takes place using GitHub Actions. Units tests are written in JUnit and run as part of the build and continuous integration. Changes via PR must include appropiate test coverage.

Note that Joda-Time is considered to be a largely “finished” project. No major enhancements are planned. If using Java SE 8, please migrate to java.time (JSR-310).

Release process

  • Update version (pom.xml, README.md, index.md, MANIFEST.MF, changes.xml)
  • Commit and push
  • Ensure on Java SE 8
  • mvn clean deploy -Doss.repo -Dgpg.passphrase=""
  • Website will be built and released by GitHub Actions123.

joda-time's People

Contributors

jodastephen avatar broneill avatar dependabot[bot] avatar github-actions[bot] avatar mebigfatguy avatar codingfabian avatar gswierczynski avatar kluever avatar john9x avatar emopers avatar hb20007 avatar bjoernpollex avatar haguenau avatar pitel avatar therealhaui avatar dancavallaro avatar vrozkovec avatar shomes3021 avatar strilanc avatar canyapan avatar dspitfire avatar nyrk avatar fanofxiaofeng avatar cdeszaq avatar renniepet avatar oby1 avatar niklasf avatar mustofa-id avatar mikey-austin avatar erral avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.