1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
//! Provides macros for fetching the package's compile date and time. //! //! # Example //! //! ``` //! use pkg_compile_time::*; //! fn main(){ //! println!("Compile date is: {}", pkg_compile_date!()); //! println!("Compile time is: {}", pkg_compile_time!()); //! } //! ``` //! The Output is: //! ``` //! Compile date is: 2020-10-01 //! Compile time is: 19:58:49 //! ``` use proc_macro::TokenStream; use quote::*; /// Get the package's compile date. #[proc_macro] pub fn pkg_compile_date(_input: TokenStream) -> TokenStream { let date = time::OffsetDateTime::now_local().format("%Y-%m-%d"); TokenStream::from(quote!(#date)) } /// Get the package's compile time. #[proc_macro] pub fn pkg_compile_time(_input: TokenStream) -> TokenStream { let time = time::OffsetDateTime::now_local().format("%H:%M:%S"); TokenStream::from(quote!(#time)) }