PDA

View Full Version : نوشتن تاریخ بصورت کوتاه



pedram_ns
چهارشنبه 08 دی 1389, 16:14 عصر
با سلام
یک تاریخ رو با کد زیر از اکسس می خونم(فیلد مورد نظر از نوع تاریخ است)


'<%# Eval("update_company") %>'

در هنگام نمایش به این صورت به همراه ساعت نمایش داده می شه:

8/17/2010 12:00:00 AM

1.چطور کد رو تغییر بدم تا فقط تاریخ رو نمایش بده (بدون ساعت)
2.آیا می شه کدی به این کد اضافه کرد تا تاریخ بصورت شمسی در اید(در کدبیهایند صفحه می تونم تاریخ میلادی رو شمسی کنم ولی چطور چنین کدی رو که در یک listview هست رو شمسی کنم.

b.paseban
چهارشنبه 08 دی 1389, 16:32 عصر
سلام دوست عزیز.
برای نمایش بصورت فقط تاریخ:
DateTime.Now.ToShortDateString();

pedram_ns
چهارشنبه 08 دی 1389, 16:36 عصر
ممنونم
در مورد سئوال دوم نظری نیست؟

mehrdad201
چهارشنبه 08 دی 1389, 16:39 عصر
دوست عزیز شما باید به این شکل عمل کنی



'<%# ConvertToShamsi(Convert.ToDateTime(Eval("update_company")) %>'

ConvertToShamsi هم تابع تبدیل تاریخ شماست

pedram_ns
چهارشنبه 08 دی 1389, 20:36 عصر
دوست گرامی این کد ارور زیر رو می ده:


BC30451: Name 'ConvertToShamsi' is not declared.

همین کد کافیه یا باید چیز دیگه ایی هم اضافه کنم.

mehrdad201
چهارشنبه 08 دی 1389, 21:22 عصر
دوست عزیز

شما باید تابع ConvertToShamsi رو بنویسید. من فرمت کلی رو گفتم. شما اون تابع رو باید بنویسید . (این تابع یک ابجکت از نوع datetime رو دریافت میکند و در این مثال یه عبارت رشته ای که حاوی مقدار تبدیل شده شمسی است رو برمیگرداند.)

pedram_ns
چهارشنبه 08 دی 1389, 21:25 عصر
امکان داره خودتون یک تابع معرفی کنید خودم یک تابع داشتم ولی با اون کار نمی کنه.

pedram_ns
چهارشنبه 08 دی 1389, 21:44 عصر
خوب درست شد.
برای دوستانی که نیاز دارند:

در کدبیهایند صفحه تابع زیر رو تعریف می کنید:


Public Shared Function ShamsiDate(ByVal datetimes As String) As String
Dim dt As DateTime
If DateTime.TryParse(datetimes, dt) Then
Dim pc As New PersianCalendar()
Dim Year As String = pc.GetYear(dt).ToString()
Dim Month As String = pc.GetMonth(dt).ToString("D2")
Dim Day As String = pc.GetDayOfMonth(dt).ToString("D2")
Return Year & "/" & Month & "/" & Day
End If
Return "No Value"
End Function

قبل از اون این فضای نام رو هم اضافه می کنید:

Imports System.Globalization

در نهایت در گریدویو یا هر کنترل دیگه کدتون رو به این صورت می نویسید:


'<%# ShamsiDate(Eval("fieldname")) %>'