به نام خدا

در پارسي‌بلاگتبديل گروهي تاريخ؛ شمسي و قمري و ميلادي

چهارشنبه ۲۰ بهمن ۹۵ - ۶:۴۴ عصر

سايت‌هايي هستند روي اينترنت
و نرم‌افزارهايي قابل دانلود
رايگان
اين‌كه يك تاريخ را تبديل نمايد
بين سه نوع تاريخي كه ما معمولاً با آن‌ها درگير هستيم
شمسي و قمري و ميلادي

با اضافه شدن كلاس PersianCalendar در دات‌نت نيز
تبديل تاريخ آسان گشته
اما هنوز هم
روي اينترنت نديدم ابزاري باشد
مناسب براي تبديل گروهي از تاريخ‌ها
به صورت دسته‌اي
اين‌كه حجمي بدهي و حجمي بگيري
كاري كه زياد پيش مي‌آيد
وقتي در حال تبديل وهله‌اي و يكباره اطلاعات هستيم

چنين ابزاري نوشتم
در اين نشاني
http://pdmcenter.ir/convert
(هاست تمام شد و دلار هم گران، نشد ديگر تمديد كنم و فعلاً روي هواست!)
ابتدا براي خود البته
كاري داشتم و نياز بود
اما
بعدش گفتم عمومي باشد تا به كار ديگران نيز شايد بيايد
خوبي‌اش:
يكهو كلّي تاريخ را يكباره تبديل مي‌كند
ميان همين سه نوع تاريخ معهود
محصول را اگر بچسباني در اكسل
به سادگي در دو ستون قرار مي‌گيرد
ستون مبدأ و ستون مقصد!

از همين Namespace معروف دات‌نت هم استفاده كردم
يعني System.Globalization
كدها را هم مي‌گذارم اين‌جا
به زبان VB است
شايد كسي نداند و بخواهد در كدنويسي خود به كار بندد

براي تبديل ميلادي به شمسي:

Function M2SH(str As String) As String
    "2017/2/8 => 1395/11/19
    Dim f As System.Globalization.PersianCalendar = New System.Globalization.PersianCalendar
    M2SH = f.GetYear(str) & "/" & f.GetMonth(str) & "/" & f.GetDayOfMonth(str)
End Function



و براي ميلادي به قمري:

Function M2GH(str As String) As String
    "2017/2/8 => 1438/5/12
    Dim h As System.Globalization.HijriCalendar = New System.Globalization.HijriCalendar
    M2GH = h.GetYear(str) & "/" & h.GetMonth(str) & "/" & h.GetDayOfMonth(str)
End Function



شمسي به ميلادي:

Function SH2M(str As String) As String
    "1395/11/19 => 2017/2/8
    Dim f As System.Globalization.PersianCalendar = New System.Globalization.PersianCalendar
    Dim yyyy As Integer = DatePart("yyyy", str)
    Dim mm As Integer = DatePart("m", str)
    Dim dd As Integer = DatePart("d", str)
    Dim d As DateTime = f.ToDateTime(yyyy, mm, dd, 0, 0, 0, 0)
    SH2M = d.ToShortDateString()
End Function



شمسي به قمري:

Function SH2GH(str As String) As String
    "1395/11/19 => 1438/5/12
    Dim f As System.Globalization.PersianCalendar = New System.Globalization.PersianCalendar
    Dim h As System.Globalization.HijriCalendar = New System.Globalization.HijriCalendar
    Dim yyyy As Integer = DatePart("yyyy", str)
    Dim mm As Integer = DatePart("m", str)
    Dim dd As Integer = DatePart("d", str)
    Dim d As DateTime = f.ToDateTime(yyyy, mm, dd, 0, 0, 0, 0)
    Dim mi As DateTime = d.ToShortDateString()
    SH2GH = h.GetYear(mi) & "/" & h.GetMonth(mi) & "/" & h.GetDayOfMonth(mi)
End Function



قمري به ميلادي:

Function GH2M(str As String) As String
    "1438/5/12 => 2017/2/8
    Dim h As System.Globalization.HijriCalendar = New System.Globalization.HijriCalendar
    Dim yyyy As Integer = DatePart("yyyy", str)
    Dim mm As Integer = DatePart("m", str)
    Dim dd As Integer = DatePart("d", str)
    Dim d As DateTime = h.ToDateTime(yyyy, mm, dd, 0, 0, 0, 0)
    GH2M = d.ToShortDateString()
End Function



و در نهايت هم قمري به شمسي:

Function GH2SH(str As String) As String
    "1438/5/12 => 1395/11/19
    Dim f As System.Globalization.PersianCalendar = New System.Globalization.PersianCalendar
    Dim h As System.Globalization.HijriCalendar = New System.Globalization.HijriCalendar
    Dim yyyy As Integer = DatePart("yyyy", str)
    Dim mm As Integer = DatePart("m", str)
    Dim dd As Integer = DatePart("d", str)
    Dim d As DateTime = h.ToDateTime(yyyy, mm, dd, 0, 0, 0, 0)
    Dim mi As DateTime = d.ToShortDateString()
    GH2SH = f.GetYear(mi) & "/" & f.GetMonth(mi) & "/" & f.GetDayOfMonth(mi)
End Function


اميد كه به كار ديگران نيز آيد.


مطلب بعدي: كالاي خارجي مطلب قبلي: آرزوهاي توليدي

بازگشتنسخه محلّي از نوشته‌هاي وبلاگ شايد سخن حق سال نشر14نوشته‌هاي وبلاگ بر اساس سال برچسب‌ها33نوشته‌هاي وبلاگ بر اساس برچسب بيشترين نظر33نوشته‌هاي وبلاگ با بيشترين تعداد نظر
صفحه اصليبازگشت به صفحه نخست سايت نوشته‌ها776طرح‌ها، برنامه‌ها و نوشته‌ها مكان‌ها68براي چه جاهايي نوشتم زمان‌ها23همه سال‌هايي كه نوشتم جستجودستيابي به نوشته‌ها از طريق جستجو وبلاگ997با استفاده از سامانه پارسي‌بلاگ نماها2چند فيلم كوتاه از فعاليت‌ها آواها9تعدادي فايل صوتي براي شنيدن سايت‌ها23معرفي سايت‌هاي طراحي شده نرم‌افزارها36سورس نرم‌افزارهاي خودم معرفي6معرفي طراح سايت و آثار و سوابق كاري او فونت‌هاي فارسي60تعدادي قلم فارسي كه معمولاً در نوشته‌هايم استفاده شده است بايگاني وبلاگ991نسخه محلّي از نوشته‌هاي وبلاگ
با اسكن باركد صفحه را باز كنيد
تماس پيامك ايميل ذخيره
®Movashah ©2018 - I.R.IRAN