7 releases (breaking)
0.6.0 | Nov 5, 2024 |
---|---|
0.5.0 | Nov 4, 2024 |
0.4.0 | Nov 2, 2024 |
0.3.0 | Oct 30, 2024 |
0.0.0 | Oct 14, 2024 |
#75 in Date and time
1,018 downloads per month
Used in gprs
46KB
220 lines
WTIME
WTIME provides a variety of functions for obtaining the current UTC and local times, as well as generating customizable timestamps to suit your needs.
Table of Contents
Installation
Run the following Cargo command in your project directory:
cargo add wtime
Or add wtime
to your Cargo.toml
file:
[dependencies]
wtime = "MAJOR.MINOR.PATCH" # Replace with the latest version
Changelog
Features
-
Current Time Retrieval
- UTC and Local Time: WTIME offers seamless access to both current UTC and local times, making it easy to work with time zones and coordinate time-related functionalities.
-
Customizable Timestamps
- Flexible Formatting: Generate timestamps in various formats to meet your specific requirements, whether for logging, database entries, or user interfaces.
- Configuration Options: Tailor timestamp outputs to include or exclude specific components (e.g., date, time, time zone) based on your project needs.
-
Time Zone Support
- Multiple Time Zones: Easily convert between different time zones, allowing for applications that require global time management.
- Daylight Saving Time Adjustments: Automatic adjustments for daylight saving time ensure that your applications reflect accurate local time.
-
Easy Integration
- User-Friendly API: The WTIME API is designed with simplicity in mind, allowing developers to implement time-related functions with minimal effort.
- Comprehensive Documentation: Well-documented functions and examples help users quickly understand how to leverage the crate effectively.
-
High Performance
- Efficiency: WTIME is optimized for performance, ensuring that time retrieval and manipulation operations are fast and resource-friendly.
- Lightweight: The crate is designed to be lightweight, minimizing overhead while providing extensive functionality.
Usage
1. CALC
use wtime::calc::{calc_date, calc_week, get_day_name};
use wtime::utc::get_day;
fn main() {
let (year, month, day) = calc_date(1728933069);
println!("Date: {}-{}-{}", year, month, day); // Date: 2024-10-14
let week_number = calc_week((2024, 10, 14));
println!("Week number: {}", week_number); // 42
let day = get_day();
let day_name = get_day_name(1_670_000_000);
println!("Day name: {}", day_name); // Day name: Friday
println!("Day name: {}", get_day_name(day));
}
2. LOCAL
use wtime::local::{format_local_ts, local_ts_nanos};
use wtime::utc::utc_ts_nanos;
fn main() {
let local_timestamp_nanos = local_ts_nanos();
println!("Current Local Timestamp in Nanoseconds: {}", local_timestamp_nanos);
let utc_timestamp_nanos = utc_ts_nanos();
println!("Current UTC Timestamp in Nanoseconds: {}", utc_timestamp_nanos);
let timestamp = format_local_ts();
println!("Formatted Local Timestamp: {}", timestamp);
}
3. TZ
use wtime::tz::{tz_number, tz_string};
fn main() {
let offset_number = tz_number();
println!("Current timezone offset in hours: {}", offset_number);
let offset_string = tz_string();
println!("Current timezone offset: {}", offset_string);
}
4. UTC
use wtime::utc::{format_utc_ts, get_day};
fn main() {
let day = get_day();
println!("Current day: {}", day);
let timestamp = format_utc_ts();
println!("Formatted UTC Timestamp: {}", timestamp);
// Simulate generating a unique ID with a suffix
let unique_id_with_suffix = format!("ID-{}-{}", format_utc_ts(), "random_suffix"); // Replace with actual random suffix function
println!("Generated Unique ID with Suffix: {}", unique_id_with_suffix);
// Simulate generating a unique ID without a suffix
let unique_id_without_suffix = format!("ID-{}", format_utc_ts());
println!("Generated Unique ID without Suffix: {}", unique_id_without_suffix);
// Simulate generating a blog post UTC timestamp
let blog_post_timestamp = format!("BlogPost Timestamp: {}", format_utc_ts());
println!("Generated Blog Post UTC Timestamp: {}", blog_post_timestamp);
}
Documentation
CALC
Function | Function | Function |
---|---|---|
calc_date | calc_week | duration_since |
get_day_name | get_millis | get_minute |
get_month_name | get_nanos | get_second |
- | is_leap_year | - |
LOCAL
Function | Function | Function |
---|---|---|
format_local_ts | get_local_day | get_local_hour |
get_local_month | get_local_year | local_now |
local_ts_millis | local_ts_nanos | local_ts_sec |
TZ
Function | Function |
---|---|
tz_number | tz_string |
UTC
Function | Function | Function |
---|---|---|
format_utc_ts | get_day | get_hour |
get_month | get_year | utc_now |
utc_ts_millis | utc_ts_nanos | utc_ts_sec |
License
This project is licensed under either of the following licenses:
- MIT License
- Apache License, Version 2.0
You may choose either license for your purposes.
Contributing
Contributions are welcome! Please feel free to submit a pull request or open an issue for any feature requests or bug reports.
Author
Dependencies
~1MB
~18K SLoC