الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

إيجاد إسم اليوم للتاريخ الهجرى

بدأه finestraco في 24 يناير 2011 · 2 رد · 909 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أحتاج إلى إيجاد إسم اليوم لتاريخ هجرى معين

حيث إننى عندى كود لتحويل التاريخ من / إلى هجرى/ميلادى وأريد أن أضيف Function لإيجاد إسم اليوم للتاريخ الهجرى والكود هو :

using System;

using System.Web;

using System.Diagnostics;

using System.Globalization;

using System.Data;

using System.Collections;

using System.Runtime.InteropServices;

namespace Date_Conv

{

/// <summary>

/// Summary description for Dates.

/// </summary>

[ComVisible(true)]

[ClassInterface(ClassInterfaceType.AutoDual)]

[ProgId("ClassLibrary1.Class1")]

public class Dates

{

private HttpContext cur;

private const int startGreg = 1900;

private const int endGreg = 2100;

private string[] allFormats = { "yyyy/MM/dd", "yyyy/M/d", "dd/MM/yyyy", "d/M/yyyy", "dd/M/yyyy", "d/MM/yyyy", "yyyy-MM-dd", "yyyy-M-d", "dd-MM-yyyy", "d-M-yyyy", "dd-M-yyyy", "d-MM-yyyy", "yyyy MM dd", "yyyy M d", "dd MM yyyy", "d M yyyy", "dd M yyyy", "d MM yyyy" };

private CultureInfo arCul;

private CultureInfo enCul;

private HijriCalendar h;

private GregorianCalendar g;

public Dates()

{

cur = HttpContext.Current;

arCul = new CultureInfo("ar-SA");

enCul = new CultureInfo("en-US");

h = new HijriCalendar();

g = new GregorianCalendar(GregorianCalendarTypes.USEnglish);

arCul.DateTimeFormat.Calendar = h;

}

/// <summary>

/// Check if string is hijri date and then return true

/// </summary>

/// <param name="hijri"></param>

/// <returns></returns>

public bool IsHijri(string hijri)

{

if (hijri.Length <= 0)

{

// cur.Trace.Warn("IsHijri Error: Date String is Empty");

return false;

}

try

{

DateTime tempDate = DateTime.ParseExact(hijri, allFormats, arCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces);

if (tempDate.Year >= startGreg && tempDate.Year <= endGreg)

return true;

else

return false;

}

catch (Exception ex)

{

// cur.Trace.Warn("IsHijri Error :" + hijri.ToString() + "\n" + ex.Message);

return false;

}

}

/// <summary>

/// Check if string is Gregorian date and then return true

/// </summary>

/// <param name="greg"></param>

/// <returns></returns>

public bool IsGreg(string greg)

{

if (greg.Length <= 0)

{

// cur.Trace.Warn("IsGreg :Date String is Empty");

return false;

}

try

{

DateTime tempDate = DateTime.ParseExact(greg, allFormats, enCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces);

if (tempDate.Year >= startGreg && tempDate.Year <= endGreg)

return true;

else

return false;

}

catch (Exception ex)

{

// cur.Trace.Warn("IsGreg Error :" + greg.ToString() + "\n" + ex.Message);

return false;

}

}

/// <summary>

/// Return Formatted Hijri date string

/// </summary>

/// <param name="date"></param>

/// <param name="format"></param>

/// <returns></returns>

public string FormatHijri(string date, string format)

{

if (date.Length <= 0)

{

// cur.Trace.Warn("Format :Date String is Empty");

return "";

}

try

{

DateTime tempDate = DateTime.ParseExact(date, allFormats, arCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces);

return tempDate.ToString(format, arCul.DateTimeFormat);

}

catch (Exception ex)

{

// cur.Trace.Warn("Date :\n" + ex.Message);

return "";

}

}

/// <summary>

/// Returned Formatted Gregorian date string

/// </summary>

/// <param name="date"></param>

/// <param name="format"></param>

/// <returns></returns>

public string FormatGreg(string date, string format)

{

if (date.Length <= 0)

{

// cur.Trace.Warn("Format :Date String is Empty");

return "";

}

try

{

DateTime tempDate = DateTime.ParseExact(date, allFormats, enCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces);

return tempDate.ToString(format, enCul.DateTimeFormat);

}

catch (Exception ex)

{

// cur.Trace.Warn("Date :\n" + ex.Message);

return "";

}

}

/// <summary>

/// Return Today Gregorian date and return it in yyyy/MM/dd format

/// </summary>

/// <returns></returns>

public string GDateNow()

{

try

{

return DateTime.Now.ToString("dd/MM/yyyy", enCul.DateTimeFormat);

}

catch (Exception ex)

{

//cur.Trace.Warn("GDateNow :\n" + ex.Message);

return "";

}

}

/// <summary>

/// Return formatted today Gregorian date based on your format

/// </summary>

/// <param name="format"></param>

/// <returns></returns>

public string GDateNow(string format)

{

try

{

return DateTime.Now.ToString(format, enCul.DateTimeFormat);

}

catch (Exception ex)

{

// cur.Trace.Warn("GDateNow :\n" + ex.Message);

return "";

}

}

/// <summary>

/// Return Today Hijri date and return it in yyyy/MM/dd format

/// </summary>

/// <returns></returns>

public string HDateNow()

{

try

{

return DateTime.Now.ToString("dd/MM/yyyy", arCul.DateTimeFormat);

}

catch (Exception ex)

{

// cur.Trace.Warn("HDateNow :\n" + ex.Message);

return "";

}

}

/// <summary>

/// Return formatted today hijri date based on your format

/// </summary>

/// <param name="format"></param>

/// <returns></returns>

public string HDateNow(string format)

{

try

{

return DateTime.Now.ToString(format, arCul.DateTimeFormat);

}

catch (Exception ex)

{

// cur.Trace.Warn("HDateNow :\n" + ex.Message);

return "";

}

}

/// <summary>

/// Convert Hijri Date to it's equivalent Gregorian Date

/// </summary>

/// <param name="hijri"></param>

/// <returns></returns>

public string HijriToGreg(string hijri)

{

if (hijri.Length <= 0)

{

//cur.Trace.Warn("HijriToGreg :Date String is Empty");

return "";

}

try

{

DateTime tempDate = DateTime.ParseExact(hijri, allFormats, arCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces);

return tempDate.ToString("dd/MM/yyyy", enCul.DateTimeFormat);

}

catch (Exception ex)

{

// cur.Trace.Warn("HijriToGreg :" + hijri.ToString() + "\n" + ex.Message);

return "";

}

}

/// <summary>

/// Convert Hijri Date to it's equivalent Gregorian Date and return it in specified format

/// </summary>

/// <param name="hijri"></param>

/// <param name="format"></param>

/// <returns></returns>

public string HijriToGreg(string hijri, string format)

{

if (hijri.Length <= 0)

{

// cur.Trace.Warn("HijriToGreg :Date String is Empty");

return "";

}

try

{

DateTime tempDate = DateTime.ParseExact(hijri, allFormats, arCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces);

return tempDate.ToString(format, enCul.DateTimeFormat);

}

catch (Exception ex)

{

// cur.Trace.Warn("HijriToGreg :" + hijri.ToString() + "\n" + ex.Message);

return "";

}

}

/// <summary>

/// Convert Gregoian Date to it's equivalent Hijir Date

/// </summary>

/// <param name="greg"></param>

/// <returns></returns>

public string GregToHijri(string greg)

{

if (greg.Length <= 0)

{

// cur.Trace.Warn("GregToHijri :Date String is Empty");

return "";

}

try

{

DateTime tempDate = DateTime.ParseExact(greg, allFormats, enCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces);

return tempDate.ToString("dd/MM/yyyy", arCul.DateTimeFormat);

}

catch (Exception ex)

{

// cur.Trace.Warn("GregToHijri :" + greg.ToString() + "\n" + ex.Message);

return "";

}

}

/// <summary>

/// Convert Hijri Date to it's equivalent Gregorian Date and return it in specified format

/// </summary>

/// <param name="greg"></param>

/// <param name="format"></param>

/// <returns></returns>

public string GregToHijri(string greg, string format)

{

if (greg.Length <= 0)

{

// cur.Trace.Warn("GregToHijri :Date String is Empty");

return "";

}

try

{

DateTime tempDate = DateTime.ParseExact(greg, allFormats, enCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces);

return tempDate.ToString(format, arCul.DateTimeFormat);

}

catch (Exception ex)

{

// cur.Trace.Warn("GregToHijri :" + greg.ToString() + "\n" + ex.Message);

return "";

}

}

/// <summary>

/// Return Gregrian Date Time as digit stamp

/// </summary>

/// <returns></returns>

public string GTimeStamp()

{

return GDateNow("yyyyMMddHHmmss");

}

/// <summary>

/// Return Hijri Date Time as digit stamp

/// </summary>

/// <returns></returns>

public string HTimeStamp()

{

return HDateNow("yyyyMMddHHmmss");

}

/// <summary>

/// Compare if the Hijri date between other financial year and return True if within , False in not within

/// </summary>

/// <param name="dt">Data Table contain start date and end date ,,start date is the first column in table , end date is the second column in table</param>

/// <param name="fromDate"></param>

/// <param name="endDate"></param>

/// <returns></returns>

/// <summary>

/// Compare two instaces of string date and return indication of thier values

/// </summary>

/// <param name="d1"></param>

/// <param name="d2"></param>

/// <returns>positive d1 is greater than d2,negative d1 is smaller than d2, 0 both are equal</returns>

public int Compare(string d1, string d2)

{

try

{

DateTime date1 = DateTime.ParseExact(d1, allFormats, arCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces);

DateTime date2 = DateTime.ParseExact(d2, allFormats, arCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces);

return DateTime.Compare(date1, date2);

}

catch (Exception ex)

{

// cur.Trace.Warn("Compare :" + "\n" + ex.Message);

return -1;

}

}

}

}

#2

بكل بساطه اذا عرفت اسم اليوم للتاريخ الميلادي حوله الي هجرى :)

سبحان الله وبحمده *** سبحان الله العظيم

www.quraany.com

www.arabcs.com

#3
using System.Globalization; 




DateTimeFormatInfo DTFormat = new CultureInfo("ar-sa", false).DateTimeFormat; 
DTFormat.Calendar = new HijriCalendar(); 
DTFormat.ShortDatePattern = "dd/mm/yyyy"; 

string myDate = DateTime.Today.Date.ToString("f",DTFormat);

مواضيع مشابهة