PDA

View Full Version : تاریخ در کلاس پرشین کلندر



amirdifraxe1
یک شنبه 27 شهریور 1401, 16:13 عصر
سلام دوستان خسته نباشین.

من تاریخ روز رو توسط این کلاس پرشین کلندر دریافت می کنم . ولی من تاریخ روز قبلش رو می خوام . به این صورت که جمعه که تعطیل هست رو حساب نکنه . یعنی روز قبل شنبه میشه پنج شنبه . بعد تاریخ پنج شنبه رو بهم بده .



من می تونم روز رو جدا دریافت کنم و یکی ازش کم کنم ولی این در روز های 01 ( اولین روز ماه ) یکی کم بشه میشه 00 که اشتباه هست . ممنون میشم راهنماییم کنین .






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

Mahmoud.Afrad
دوشنبه 28 شهریور 1401, 03:04 صبح
https://learn.microsoft.com/en-us/dotnet/api/system.globalization.persiancalendar#methods

mazoolagh
دوشنبه 28 شهریور 1401, 12:19 عصر
روشی که در پیش گرفتین نادرست هست؛
اول با متد getdayofweek ببینین چه روزی از هفته است،
اگر شنبه است 2 روز از تاریخ کم کنین و گرنه یک روز (با متد adddays).

لیست کامل متدها رو هم براتون گذاشتن (پست 2).