carbono 0.1.1

Carbono is a simple Rust API extension for chrono DateTime.
Documentation
# Carbono


[![crates.io](https://img.shields.io/crates/v/carbono.svg?style=flat-square)](https://crates.io/crates/carbono)
![cargo build](https://img.shields.io/github/actions/workflow/status/tjardoo/carbono/rust.yml?style=flat-square)
[![docs.rs](https://img.shields.io/docsrs/carbono?style=flat-square)](https://docs.rs/carbono)
[![crates.io](https://img.shields.io/crates/d/carbono.svg?style=flat-square)](https://crates.io/crates/carbono)

Carbono is a simple Rust API extension for chrono DateTime.

```ini
[dependencies]
carbono = "0.1"
```

## Getting Started


```rust
use carbono::Carbono;

fn main() {
    let carbono = Carbono::now(); // 2022-12-15 12:30:00

    println!("{}", carbono); // 2022-12-15 12:30:00 UTC

    assert_eq!(carbono.timestamp(), 1671107400);

    assert_eq!(carbono.rfc3339(), "2022-12-15T12:30:00+00:00");
    assert_eq!(carbono.rfc2822(), "Thu, 15 Dec 2022 12:30:00 +0000");

    assert_eq!(carbono.year(), 2022);
    assert_eq!(carbono.month(), 12);
    assert_eq!(carbono.day(), 15);
    assert_eq!(carbono.hour(), 12);
    assert_eq!(carbono.minute(), 30);
    assert_eq!(carbono.second(), 0);

    assert_eq!(carbono.datetime(), "2022-12-15 12:30:00");

    assert_eq!(carbono.date(), "2022-12-15");
    assert_eq!(carbono.time(), "12:30:00");

    assert_eq!(format!("{:?}", carbono.iso_week()), "2022-W50");

    assert_eq!(carbono.weekday(), 3); // Thursday

    assert_eq!(carbono.is_wednesday(), false);
    assert_eq!(carbono.is_thursday(), true);
    assert_eq!(carbono.is_friday(), false);

    assert_eq!(carbono.is_past(), true);
    assert_eq!(carbono.is_future(), false);

    assert_eq!(carbono.is_today(), true); // 2022-12-15

    assert_eq!(carbono.add_day().is_today(), false); // 2022-12-16

    assert_eq!(carbono.add_year().add_month().date(), "2024-01-15");

    assert_eq!(carbono.start_year().datetime(), "2022-01-01 00:00:00");
}
```

### Alter the date and/or time


- `add_year()`
- `sub_year()`
- `add_years(years: i32)`
- `sub_years(years: i32)`
- `add_month()`
- `sub_month()`
- `add_months(months: i32)`
- `sub_months(months: i32)`
- `add_week()`
- `sub_week()`
- `add_weeks(weeks: i64)`
- `sub_weeks(weeks: i64)`
- `add_day()`
- `sub_day()`
- `add_days(days: i64)`
- `sub_days(days: i64)`
- `add_hour()`
- `sub_hour()`
- `add_hours(hours: i64)`
- `sub_hours(hours: i64)`
- `add_minute()`
- `sub_minute()`
- `add_minutes(minutes: i64)`
- `sub_minutes(minutes: i64)`
- `add_second()`
- `sub_second()`
- `add_seconds(seconds: i64)`
- `sub_seconds(seconds: i64)`

### Move to the start/end of period


- `start_year`
- `start_month`
- `start_day`
- `start_hour`
- `start_minute`
- `end_year`
- `end_month`
- `end_day`
- `end_hour`
- `end_minute`