View Full Version : سوال: گرفتن تاریخ میلادی در ویندوز هایی که تاریخش میلادی نیست
  
amir20611
چهارشنبه 23 آذر 1390, 12:48 عصر
سلام ، برای بدست آوردن تاریخ ویندوز از دستور now استفاده میکنم ، مشکل اینجاست که اگر تاریخ ویندوز قمری باشه ، با این دستور تاریخ قمری رو بهم میده ، ولی من تاریخ میلادی رو میخوام
parsaid
چهارشنبه 23 آذر 1390, 13:16 عصر
خب تبدیلش کن
amirdifraxe1
چهارشنبه 23 آذر 1390, 13:24 عصر
باید از این استفاده کنید
Imports System.Globalization
Imports System.Globalization.PersianCalendar
کد بدست آوردن تاریخ مثل 1390/09/23
کد در کلاس نوشته شود 
Imports Microsoft.VisualBasic
Imports System.Globalization
Public Class PCalendar
    Dim Calend As New PersianCalendar
    Public Function WhatDay() As String
        Dim iDayOfMonth As Integer = Calend.GetDayOfMonth(Now)
        Dim iMonth As Integer = Calend.GetMonth(Now)
        Dim iYear As Integer = Calend.GetYear(Now)
        Return String.Format("{0}/{1:00}/{2:00}", iYear, iMonth, iDayOfMonth)
    End Function
    Public Function WhatDayToString() As String
        Dim iDayOfMonth As Integer = Calend.GetDayOfMonth(Now)
        Dim iDayOfWeek As Integer = Calend.GetDayOfWeek(Now)
        Dim iMonth As Integer = Calend.GetMonth(Now)
        Dim iYear As Integer = Calend.GetYear(Now)
        Dim SMonth() As String = {"فروردين", "ارديبهشت", "خرداد", "تير", "مرداد", "شهريور", "مهر", "آبان", "آذر", "دي", "بهمن", "اسفند"}
        Dim SDay() As String = {"يك شنبه", "دوشنبه", "سه شنبه", "چهار شنبه", "پنج شنبه", "جمعه", "شنبه"}
        Return (SDay(iDayOfWeek).ToString & " , " & iDayOfMonth & " " & SMonth(iMonth - 1).ToString & " , " & iYear.ToString)
    End Function
End Class
amir20611
چهارشنبه 23 آذر 1390, 13:35 عصر
خب تبدیلش کن
 
مرسی که جواب دادید ، نمیشه به تاریخ قمری اعتماد کرد و تاریخ میلادی رو بدست بیاریم ، بعضی جاهای دنیا امروز 14/12/2011 برابر 18 ذی الحجه هست بعضی جاهای دیگه 19 ذی الحجه
فکر کنم خیلی ساده تر از این ها میشه تاریخ میلاد رو بدست اورد 
اینقدر در مورد تبدیل تاریخ ها صحبت شده که با جستجو نمیشه چیزی پیدا کرد
arash020
چهارشنبه 23 آذر 1390, 13:58 عصر
سلام
دوتا تابع , یکی تبدیل میلادی به شمسی و اونیکی تبدیل شمسی به میلادی که از روی اسمشون هم قابل تشخیص هستش
امیدوارم مفید باشه...!
 Function MiladiToShamsi(ByVal Year As Integer, ByVal Month As Integer, ByVal Day As Integer) As String
        Try
            Dim Date_M As Date = Year & "/" & Month & "/" & Day
            Dim Date_Sh As New Globalization.PersianCalendar
            Return Date_Sh.GetYear(Date_M) & "/" & Format(Date_Sh.GetMonth(Date_M), "00") & "/" & Format(Date_Sh.GetDayOfMonth(Date_M), "00")
        Catch ex As Exception
            Return 0
        End Try
    End Function
    Function ShamsiToMiladi(ByVal ShamsiDate As String) As String
        If IsNumeric(ShamsiDate.Replace("/", "")) = False Then Return 0
        Try
            If ShamsiDate.Length <> 10 Then Return 0
            Dim Date_Sh As New Globalization.PersianCalendar()
            Dim Date_M As DateTime = Date_Sh.ToDateTime(ShamsiDate.Substring(0, 4), ShamsiDate.Substring(5, 2), _
                                  ShamsiDate.Substring(8, 2), _
                                  0, 0, 0, 0, _
                                 Globalization.PersianCalendar.PersianEra)
            Return Date_M.ToShortDateString
        Catch ex As Exception
            Return 0
        End Try
    End Function
amir20611
چهارشنبه 23 آذر 1390, 14:08 عصر
Dim iDayOfMonth As Integer = Calend.GetDayOfMonth(Now)
سلام ممنون که جواب دادید ، مشکل من با همین Now هست ، اگر تاریخ ویندوز قمری باشه به شما 1433/01/18 میده نه تاریخ میلادی 
http://www.jazzab.net/wp-content/gallery/ghamarivista/v4.jpg
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.