GithubHelp home page GithubHelp logo

ical4j.github.io's Introduction

ical4j.github.io

ical4j pages

ical4j.github.io's People

Contributors

benfortuna avatar

Watchers

 avatar  avatar  avatar

ical4j.github.io's Issues

New date/time api

Ical4j 4.0 will introduce support for the new java date/time api. This includes a number of API changes and inevitably some change to behaviour, hopefully for the better.

Dates

The most notable change is the deprecation of custom date and date-time classes in favour of implementations of the java.time.Temporal interface. Whilst the ical4j Date class has an direct replacement in java.time.LocalDate, there are now multiple types representing date-time values, previously supported by the DateTime class.

Formats

Previously date formatting was encapsulated by the implementation in Date and DateTime classes. As Temporal types don't implement formatting we have a CalendarDateFormat class to support parsing and formatting of temporal string values.

TemporalAdapter

Many date-based iCalendar properties also support additional information not captured by temporal types, such as timezone rules and support for "floating" date-time values that apply the local timezone to calculating recurrences, etc.

To support consistent application of timezone rules the TemporalAdapter class provides additional temporal operations through encapsulation of a temporal instance.

DateList

Some iCalendar properties support a list of date/time values, and so the DateList class provides consistency of rules across an entire temporal list.

Period

A period of time is represented by either two dates or a date and a duration. A Period encapsulates both the formatting functions and operations across both temporal and duration types.

PeriodList

Date properties

In addition to parsing and formatting string values, in older versions of ical4j an iCalendar property with a date/date-time value would also encapsulate a date implementation that supports timezone rules for date-time values.

The introduction of Temporal support means that string parsing/formatting is no longer encapsulated by the date/time object. In order to support string manipulation wrapper class for Temporal has been introduced in TemporalAdapter.

Release post for 3.0

The ical4j 3.0.0 release is now available for download.

The primary focus of this release is to fill support Java 8 syntax and features. As a result the minimum Java version now supported by the master release branch is now java8.

Highlights

Streams, lambda, etc.

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.