تبدیل تاریخ شمسی به تاریخ میلادی با استفاده از C++
تبدیل تاریخ شمسی به تاریخ میلادی یکی از مسائلی است که در برنامهنویسی بسیار مورد نیاز است. در این مقاله، روشی برای تبدیل تاریخ شمسی به تاریخ میلادی با استفاده از زبان برنامهنویسی C++ را بررسی خواهیم کرد.
در ابتدا، برای تبدیل تاریخ شمسی به تاریخ میلادی، نیاز به استفاده از یک تابع تبدیل داریم. در زبان C++، میتوان از تابعهای دستیابی به تاریخهای شمسی و میلادی در کتابخانههای زمان استفاده کرد. یکی از این کتابخانهها میتواند کتابخانه `chrono` باشد که در نسخههای جدید C++ موجود است.
برای تبدیل تاریخ شمسی به تاریخ میلادی، ابتدا باید تاریخ شمسی را به صورت ورودی از کاربر دریافت کنیم. سپس از تابع `chrono::year_month_day` برای ایجاد یک تاریخ شمسی استفاده میکنیم. به عنوان مثال:
“`cpp
#include
#include
int main() {
int year, month, day;
std::cout << “Enter Persian date (yyyy mm dd): “;
std::cin >> year >> month >> day;
using namespace std::chrono;
using persian_calendar = std::chrono::year_month_day;
using sys_days = std::chrono::sys_days;
persian_calendar persian_date(year, month, day);
sys_days sd = sys_days(persian_date);
auto dp = date::floor(sd);
auto ymd = date::year_month_day{dp};
std::cout << “Gregorian date: ” << ymd << std::endl;
return 0;
}
“`
در این کد، ابتدا تاریخ شمسی را از کاربر دریافت میکنیم و سپس آن را به تاریخ شمسی با استفاده از `year_month_day` تبدیل میکنیم. سپس با استفاده از `sys_days` تاریخ شمسی را به تاریخ میلادی تبدیل میکنیم. در نهایت، تاریخ میلادی را به کاربر نمایش میدهیم.
در این مثال، فرض بر این است که ورودی و خروجی تاریخ به صورت سال، ماه و روز است. البته میتوانید بر اساس نیاز خود، کد را تغییر دهید.
در نتیجه، با استفاده از توابع موجود در کتابخانه `chrono` در C++، میتوانید با سادگی تاریخ شمسی را به تاریخ میلادی تبدیل کنید.