امروزه اینترنت و وب جایگاه خودشو تو زندگی و کسب و کار باز کرده که وب پارسی هم از این قاعده مستثنی نیست یکی از عوامل مهم در وب پارسی استفاده از تاریخ خورشیدی میباشد روشهای مختلفی برای تبدیل تاریخ خورشیدی وجود دارد استفاده از اسکریپتهای تبدیل تاریخ مثل جلالی یا پارسی دیت یا نوشتن یک تابع در سطح بانک داده و استفاده از آن
کد زیر یک تابع برای تبدیل تاریخ در mysql + فورمت بندی آن میباشد
CREATE DEFINER=`root`@`localhost` FUNCTION `persian_date`(g_date date,outs varchar(10)) RETURNS varchar(20) CHARSET latin1 BEGIN declare g_year int; declare p_month varchar(2); declare g_day int; declare leap int; declare pdate varchar(10); set g_year=YEAR(g_date); set g_day=DAYOFYEAR(g_date); if g_day>79 then set g_day=g_day-79; set g_year=g_year-621; else set leap=(g_year-1)%4; set g_year=g_year-622; if leap=0 then set g_day=g_day+287; else set g_day=g_day+286; end if; END IF; if leap=0 and g_day=366 then set p_month=12; set g_day=30; else case when g_day>0 and g_day<32 then set p_month='01'; when g_day>31 and g_day<63 then set p_month='02'; set g_day=g_day-31; when g_day>62 and g_day<94 then set p_month='03'; set g_day=g_day-62; when g_day>93 and g_day<125 then set p_month='04'; set g_day=g_day-93; when g_day>124 and g_day<156 then set p_month='05'; set g_day=g_day-124; when g_day>155 and g_day<187 then set p_month='06'; set g_day=g_day-155; when g_day>186 and g_day<217 then set p_month='07'; set g_day=g_day-186; when g_day>216 and g_day<247 then set p_month='08'; set g_day=g_day-216; when g_day>246 and g_day<277 then set p_month='09'; set g_day=g_day-246; when g_day>276 and g_day<307 then set p_month='10'; set g_day=g_day-276; when g_day>306 and g_day<337 then set p_month='11'; set g_day=g_day-306; when g_day>336 then set p_month='12'; set g_day=g_day-336; end case; end if; set outs=REPLACE(outs,'y',g_year); set outs=REPLACE(outs,'m',p_month); set outs=REPLACE(outs,'d',g_day); RETURN outs; END$$
روش استفاده
select persian_date(my_date,'y-m-d')as date from my_table
در اینجا
my_date :اسم ستونی از نوع Date که میخواهید انرا به تاریخ خورشیدی تبدیل کنید
my_table:نام جدول مورد نظر
دیدگاهتان را بنویسید لغو پاسخ