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

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

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

أرجو المساعدة فى كيفية إيجاد إسم اليوم الهجرى بعدما يمكن تحويله من التاريخ الميلادى وهناك كود كالتالى :-

فأرجو المساعدة فى كيفية كتابة وظيفة لذلك

Imports System.Web

Imports System.Diagnostics

Imports System.Globalization

Imports System.Data

Imports System.Collections

Namespace Bahsas

''' <summary>

''' Summary description for Dates.

''' </summary>

Public Class Dates

Private cur As HttpContext

Private Const startGreg As Integer = 1900

Private Const endGreg As Integer = 2100

Private allFormats As String() = {"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 arCul As CultureInfo

Private enCul As CultureInfo

Private h As HijriCalendar

Private g As GregorianCalendar

Public Sub New()

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

End Sub

''' <summary>

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

''' </summary>

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

''' <returns></returns>

Public Function IsHijri(hijri As String) As Boolean

If hijri.Length <= 0 Then

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

Return False

End If

Try

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

If tempDate.Year >= startGreg AndAlso tempDate.Year <= endGreg Then

Return True

Else

Return False

End If

Catch ex As Exception

cur.Trace.Warn("IsHijri Error :" & hijri.ToString() & vbLf & ex.Message)

Return False

End Try

End Function

''' <summary>

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

''' </summary>

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

''' <returns></returns>

Public Function IsGreg(greg As String) As Boolean

If greg.Length <= 0 Then

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

Return False

End If

Try

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

If tempDate.Year >= startGreg AndAlso tempDate.Year <= endGreg Then

Return True

Else

Return False

End If

Catch ex As Exception

cur.Trace.Warn("IsGreg Error :" & greg.ToString() & vbLf & ex.Message)

Return False

End Try

End Function

''' <summary>

''' Return Formatted Hijri date string

''' </summary>

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

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

''' <returns></returns>

Public Function FormatHijri([date] As String, format As String) As String

If [date].Length <= 0 Then

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

Return ""

End If

Try

Dim tempDate As DateTime = DateTime.ParseExact([date], allFormats, arCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces)

Return tempDate.ToString(format, arCul.DateTimeFormat)

Catch ex As Exception

cur.Trace.Warn("Date :" & vbLf & ex.Message)

Return ""

End Try

End Function

''' <summary>

''' Returned Formatted Gregorian date string

''' </summary>

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

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

''' <returns></returns>

Public Function FormatGreg([date] As String, format As String) As String

If [date].Length <= 0 Then

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

Return ""

End If

Try

Dim tempDate As DateTime = DateTime.ParseExact([date], allFormats, enCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces)

Return tempDate.ToString(format, enCul.DateTimeFormat)

Catch ex As Exception

cur.Trace.Warn("Date :" & vbLf & ex.Message)

Return ""

End Try

End Function

''' <summary>

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

''' </summary>

''' <returns></returns>

Public Function GDateNow() As String

Try

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

Catch ex As Exception

cur.Trace.Warn("GDateNow :" & vbLf & ex.Message)

Return ""

End Try

End Function

''' <summary>

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

''' </summary>

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

''' <returns></returns>

Public Function GDateNow(format As String) As String

Try

Return DateTime.Now.ToString(format, enCul.DateTimeFormat)

Catch ex As Exception

cur.Trace.Warn("GDateNow :" & vbLf & ex.Message)

Return ""

End Try

End Function

''' <summary>

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

''' </summary>

''' <returns></returns>

Public Function HDateNow() As String

Try

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

Catch ex As Exception

cur.Trace.Warn("HDateNow :" & vbLf & ex.Message)

Return ""

End Try

End Function

''' <summary>

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

''' </summary>

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

''' <returns></returns>

Public Function HDateNow(format As String) As String

Try

Return DateTime.Now.ToString(format, arCul.DateTimeFormat)

Catch ex As Exception

cur.Trace.Warn("HDateNow :" & vbLf & ex.Message)

Return ""

End Try

End Function

''' <summary>

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

''' </summary>

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

''' <returns></returns>

Public Function HijriToGreg(hijri As String) As String

If hijri.Length <= 0 Then

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

Return ""

End If

Try

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

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

Catch ex As Exception

cur.Trace.Warn("HijriToGreg :" & hijri.ToString() & vbLf & ex.Message)

Return ""

End Try

End Function

''' <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 Function HijriToGreg(hijri As String, format As String) As String

If hijri.Length <= 0 Then

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

Return ""

End If

Try

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

Return tempDate.ToString(format, enCul.DateTimeFormat)

Catch ex As Exception

cur.Trace.Warn("HijriToGreg :" & hijri.ToString() & vbLf & ex.Message)

Return ""

End Try

End Function

''' <summary>

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

''' </summary>

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

''' <returns></returns>

Public Function GregToHijri(greg As String) As String

If greg.Length <= 0 Then

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

Return ""

End If

Try

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

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

Catch ex As Exception

cur.Trace.Warn("GregToHijri :" & greg.ToString() & vbLf & ex.Message)

Return ""

End Try

End Function

''' <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 Function GregToHijri(greg As String, format As String) As String

If greg.Length <= 0 Then

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

Return ""

End If

Try

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

Return tempDate.ToString(format, arCul.DateTimeFormat)

Catch ex As Exception

cur.Trace.Warn("GregToHijri :" & greg.ToString() & vbLf & ex.Message)

Return ""

End Try

End Function

''' <summary>

''' Return Gregrian Date Time as digit stamp

''' </summary>

''' <returns></returns>

Public Function GTimeStamp() As String

Return GDateNow("yyyyMMddHHmmss")

End Function

''' <summary>

''' Return Hijri Date Time as digit stamp

''' </summary>

''' <returns></returns>

Public Function HTimeStamp() As String

Return HDateNow("yyyyMMddHHmmss")

End Function

''' <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 Function Compare(d1 As String, d2 As String) As Integer

Try

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

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

Return DateTime.Compare(date1, date2)

Catch ex As Exception

cur.Trace.Warn("Compare :" & vbLf & ex.Message)

Return -1

End Try

End Function

End Class

End Namespace

#3

بسم الله الرحمن الرحيم

اخى العزيز

انت ممكن تعمل كده فى ال sql server

select DATENAME(dw,(CONVERT(datetime, '02/10/1433', 131))) as datee from my_table

اتمنى اكون افدتك

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