All Projects → spoulson → Itinerary

spoulson / Itinerary

Licence: other
Lazy time scheduling toolset for .NET

Programming Languages

C#
18002 projects
GAP
223 projects

Projects that are alternatives of or similar to Itinerary

Jest Date Mock
🌗 Mock `Date` when run unit test cases with jest. Make tests of Date easier.
Stars: ✭ 224 (+700%)
Mutual labels:  datetime
vue-moment-jalaali
Jalaali Moment.js filters for your Vue.js project
Stars: ✭ 59 (+110.71%)
Mutual labels:  datetime
date-extractor
Extract dates from text
Stars: ✭ 58 (+107.14%)
Mutual labels:  datetime
Jiffy
Jiffy is a Flutter (Android, IOS and Web) date time package inspired by momentjs for parsing, manipulating, querying and formatting dates
Stars: ✭ 238 (+750%)
Mutual labels:  datetime
iso8601
A fast ISO8601 date parser for Go
Stars: ✭ 122 (+335.71%)
Mutual labels:  datetime
lit-date
Light-weight, faster datetime formatter for modern browsers.
Stars: ✭ 33 (+17.86%)
Mutual labels:  datetime
Go Naturaldate
Natural date/time parsing for Go.
Stars: ✭ 217 (+675%)
Mutual labels:  datetime
SQL-for-Data-Analytics
Perform fast and efficient data analysis with the power of SQL
Stars: ✭ 187 (+567.86%)
Mutual labels:  datetime
hawking
A Natural Language Date Time Parser that Extract date and time from text with context and parse to the required format
Stars: ✭ 168 (+500%)
Mutual labels:  datetime
ng-data-picker
🏄🏼 A data picker based on Angular 4+ (like native datetime picker of iOS)
Stars: ✭ 24 (-14.29%)
Mutual labels:  datetime
React Native Globalize
Internationalization (i18n) for React Native
Stars: ✭ 246 (+778.57%)
Mutual labels:  datetime
ptera
Ptera is DateTime library for Deno
Stars: ✭ 62 (+121.43%)
Mutual labels:  datetime
react-calendar-datetime-picker
A simple and fast date and time picker component for React
Stars: ✭ 58 (+107.14%)
Mutual labels:  datetime
Flatpickr
lightweight, powerful javascript datetimepicker with no dependencies
Stars: ✭ 14,575 (+51953.57%)
Mutual labels:  datetime
open hours
Time calculations using business hours
Stars: ✭ 41 (+46.43%)
Mutual labels:  datetime
Pdd
📅 Tiny date, time diff calculator with piggybacked timers
Stars: ✭ 218 (+678.57%)
Mutual labels:  datetime
angular-datetime-inputs
📅 Angular directives for datetime inputs
Stars: ✭ 20 (-28.57%)
Mutual labels:  datetime
SilkierQuartz
SilkierQuartz can host jobs using HostService and Provide a web management tools for Quartz !
Stars: ✭ 263 (+839.29%)
Mutual labels:  datetime
sqlalchemy-utc
SQLAlchemy type to store aware datetime values
Stars: ✭ 87 (+210.71%)
Mutual labels:  datetime
fmtdate
MS Excel (TM) syntax for Go time/date
Stars: ✭ 95 (+239.29%)
Mutual labels:  datetime

Itinerary: Lazy time scheduling toolset for .NET

Release 1.1, 2015-05-05
GitHub repo: https://github.com/spoulson/Itinerary
Shawn Poulson, http://explodingcoder.com

INTRODUCTION

What does Itinerary do?

  • Describe an abstract schedule of timed events as an expression, such as the equivalent of:
    "Every Friday at 5:30 pm for 1 hour, except on holidays", for any given time range.
  • Parse expressions to an Itinerary ISchedule object at runtime.
  • ISchedule provides IEnumerable of timed events within any given time range.
  • Perform complex boolean set math on schedules.
  • Change ISchedule properties programmatically, then reserialize back to TDL expression string.

What doesn't Itinerary do?

  • Does not actively run tasks on a schedule. That's your job.
    For that, check out Quartz.NET and the provided ScheduleTests unit test class.
  • Does not perform timezone interpretation or computation. All date/times are timezone agnostic.

Why use Itinerary?

  • Lightweight, stateless, lazily generate events on demand.
  • You need to integrate a cron-like scheduler into your app.
  • You already use a scheduler, like Quartz.NET, but need more powerful scheduling logic.
  • You need to logically describe arbitrary or complex recurrance patterns.
  • You need to forecast scheduled timed events.
  • You need to store the recurrance logic (not the events) for later reuse.

How do I get started using Itinerary?

  • Learn TDL expression syntax from the Itinerary Wiki on GitHub: https://github.com/spoulson/Itinerary/wiki
  • Test TDL expression syntax using the TDL Explorer tool in the solution.
  • Check out the example projects.
  • Refer to unit tests for usage reference.

SYSTEM REQUIREMENTS

Development requirements:

  • Visual Studio 2013 (Professional edition or better required for unit test execution).
  • NUnit to run unit tests. Typically, Visual Studio 2013 Professional + NUnit Test Adapter extension will do the job.
  • Java SE JDK (optional, required to recompile ANTLR grammar).

Runtime requirements:

  • .NET 4.5.1 Framework.

KNOWN ISSUES

None reported at time of release.
See GitHub repo for issue tracking.

LICENSING

Itinerary is an open source project licensed under the Creative Commons Attribution license: http://creativecommons.org/licenses/by/3.0/legalcode.

ANTLR 3.2 http://antlr.org binary tools and .NET runtime are included in the Expl.Itinerary.Parser project, allowable under ANTLR's BSD license terms: http://antlr.org/license.html.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].