PDA

View Full Version : قالب بندی تاریخ



alicomputer
شنبه 12 اسفند 1402, 19:46 عصر
سلام
چظوزی میتونم تاریخ را به این صورت قالبندی کنم 0000/00/00 مثلا 1402/12/1 را به صورت 1402/12/01 و 1402/2/1 را به صورت 1402/02/01 و 1402/2/11 را به صورت 1402/02/11
البته ابنم بگم من یسری محاسبات روی تاریخ اصلی که قالب درستی داره انجام میدم با استفاده از تابع mid روز و ماه و سال را حدا میکنم ولی بعد محاسبات نمی تونم قالب بندی کنم - البته کدنویسی می خوام کم باشه-

mazoolagh
شنبه 12 اسفند 1402, 21:05 عصر
سلام و روز خوش

مشخص نکردین که نوع دیتا تاریخ شما چی هست؟ number , string , یا date با persian culture

در هر صورت با تابع format یا formatdatetime دستتون برای هر نوع فرمت بندی بازه.

alicomputer
شنبه 12 اسفند 1402, 21:44 عصر
سلام و روز خوش

مشخص نکردین که نوع دیتا تاریخ شما چی هست؟ number , string , یا date با persian culture

در هر صورت با تابع format یا formatdatetime دستتون برای هر نوع فرمت بندی بازه.



قسمتی از کدی که نوشتم

Dim sal, mah, rooz az Integer
Dim datecmp1, datecmp2 As String
sal = Mid(lblDate.Text, 1, 4)
mah = Mid(lblDate.Text, 6, 2)
rooz = Mid(lblDate.Text, 9, 2)

datecmp1 = sal.ToString + "/" +mah.ToString + "/" +rooz.ToString


دیتا تاریخ را هم از نوع String گذاشتم

mazoolagh
یک شنبه 13 اسفند 1402, 19:08 عصر
Dim sal, mah, rooz az Integer
Dim datecmp1, datecmp2 As String
sal = Mid(lblDate.Text, 1, 4)
mah = Mid(lblDate.Text, 6, 2)
rooz = Mid(lblDate.Text, 9, 2)


datecmp1 = sal.ToString + "/" +mah.ToString + "/" +rooz.ToString


از کد مشخص هست که تاریخ رو به فرمت YYYY/MM/DD میخونین.

برای تفکیک اجزای تاریخ میتونین به این شکل هم عمل کنین:
DIM tarikh1 AS STRING = lblDate.Text
DIM sal , mah, rooz AS INTEGER
DIM tarikh_parts = tarikh1.split("/"c)
sal = CINT(tarikh_parts(0))
mah = CINT(tarikh_parts(1))
rooz = CINT(tarikh_parts(2))

برای ساختن تاریخ از روی سال و ماه و روز:
DIM tarikh2 AS STRING = STRING.FORMAT("{0:0000}/{1:00}/{2:00}" , sal , mah , rooz)

فقط یک validation فرمت تاریخ روی lblDate.Text هم نیاز هست که برنامه تون به خطای runtime برنخوره،
اینو میتونین با regexp انجام بدین.