Rust Persan Calendar v0.1.1 fournit une fonctionnalité de conversion entre les calendriers persan (Solar Hijri) et grégorien. Un calendrier julien est utilisé comme interface pour toutes les conversions. Le nom de la caisse est ptime
et il est compatible avec l'heure de la caisse. Ce code source est sous licence MIT qui se trouve dans le fichier LICENSE.
Ajoutez ptime = "0.1"
à la section dependencies
de Cargo.toml
:
[ dependencies ]
time = " 0.1 "
ptime = " 0.1 "
1- Importez le ptime
de la caisse. La plupart du temps, vous devez également importer une caisse time
.
extern crate ptime ;
extern crate time ;
2- Convertissez le calendrier grégorien en calendrier persan.
let p_tm = ptime :: from_gregorian_date ( 2016 , 2 , 21 ) . unwrap ( ) ;
assert_eq ! ( p_tm.tm_year, 1395 ) ;
assert_eq ! ( p_tm.tm_mon, 0 ) ;
assert_eq ! ( p_tm.tm_mday, 2 ) ;
3- Convertissez le calendrier persan en calendrier grégorien.
let g_tm = ptime :: from_persian_date ( 1395 , 0 , 2 ) . unwrap ( ) . to_gregorian ( ) ;
assert_eq ! ( g_tm.tm_year, 2016 ) ;
assert_eq ! ( g_tm.tm_mon, 2 ) ;
assert_eq ! ( g_tm.tm_mday, 21 ) ;
4- Obtenez l'heure actuelle.
let p_tm = ptime :: now ( ) ;
println ! ( "Current time: {}" , p_tm ) ;
let p_tm_utc = ptime :: now_utc ( ) ;
println ! ( "Current time at UTC: {}" , p_tm_utc ) ;
5- Formatez l'heure.
let p_tm = ptime :: from_gregorian ( time :: now ( ) ) ;
println ! ( "{}" , p_tm.to_string ( "yyyy-MM-dd HH:mm:ss.ns" ) ) ;
/// yyyy, yyy, y year (e.g. 1394)
/// yy 2-digits representation of year (e.g. 94)
/// MMM the Persian name of month (e.g. فروردین)
/// MM 2-digits representation of month (e.g. 01)
/// M month (e.g. 1)
/// DD day of year (starting from 1)
/// D day of year (starting from 0)
/// dd 2-digits representation of day (e.g. 01)
/// d day (e.g. 1)
/// E the Persian name of weekday (e.g. شنبه)
/// e the Persian short name of weekday (e.g. ش)
/// A the Persian name of 12-Hour marker (e.g. قبل از ظهر)
/// a the Persian short name of 12-Hour marker (e.g. ق.ظ)
/// HH 2-digits representation of hour [00-23]
/// H hour [0-23]
/// kk 2-digits representation of hour [01-24]
/// k hour [1-24]
/// hh 2-digits representation of hour [01-12]
/// h hour [1-12]
/// KK 2-digits representation of hour [00-11]
/// K hour [0-11]
/// mm 2-digits representation of minute [00-59]
/// m minute [0-59]
/// ss 2-digits representation of seconds [00-59]
/// s seconds [0-59]
/// ns nanoseconds
Pour plus d'informations, veuillez consulter les fichiers de test dans le dossier tests
.