ورود

View Full Version : ایراد در تبدیل string به Date



Touska
دوشنبه 03 مرداد 1384, 10:14 صبح
با سلام

آقا وقتی من می یام این کار رو بکنم تاریخ 1384/04/31
را نمی تونه تبدیل کنه ولی تاریخ 1384/04/30 را میتونه یا 1384/05/31
را هم می تونه مشکل از چیست.

Kamyar.Kimiyabeigi
دوشنبه 03 مرداد 1384, 15:04 عصر
میشه دستوری رو که استفاده می کنین رو برای 1384/04/31 بنویسین

javad_hosseiny
دوشنبه 03 مرداد 1384, 15:34 عصر
دلیلش این است که نوع date برای فیلد از تاریخ میلادی تبعیت می کند و در تاریخ میلادی برای بعضی روزها مشابه در تاریخ شمسی معادل وجود ندارد مثل 30و31 برج 2 و 31 برج 4 لذا در تبدیل رشته ها و یا حتی تایپ (ورودی) برای این نوع فیلد مشکل هست لذا بهتر است که از همان نوع رشته برای نگهداری تاریخ استفاده شود

Tarrah
دوشنبه 03 مرداد 1384, 23:48 عصر
می شه تابع تبدیل رو بگین ؟

Touska
سه شنبه 04 مرداد 1384, 10:50 صبح
SDate := StrToDate('1384/04/31');

به این شکل.

حالا اگر بخوام. این کار رو بکنم راهی وجود نداره.

Tarrah
سه شنبه 04 مرداد 1384, 11:39 صبح
فکر نمی کنم

Touska
سه شنبه 04 مرداد 1384, 12:14 عصر
امتحان کنید.

amirrf
سه شنبه 04 مرداد 1384, 15:36 عصر
سلام،

خود نوع استاندارد TDateTime مستقل از تقویم است. تابع StrToDate یک تاریخ معتبر میلادی را به TDate تبدیل می کند و به دلیل تفاوت تقویم های میلادی و هجری شمسی نمی توان انتظار داشت این تابع برای هر دو تقویم به درستی کار کند.

تابع مشابهی (ShStrToDate) برای تبدیل رشته تاریخ هجری شمسی به TDate در راهکارهای تاریخ هجری شمسی (http://www.farsicomponents.com/fshdatesolutions.htm) ارایه شده است.

jirjirakk
چهارشنبه 05 مرداد 1384, 01:58 صبح
و پس از خرید راهکارهای تاریخ هجری شمسی اون موقع می تویند به راحتی از تاریه ShDateToStr استفاده کنین و حالش رو ببرید x:

Touska
چهارشنبه 05 مرداد 1384, 10:40 صبح
جزء ابزار Falad چنین تابعی وجود ندارد.

ممنون

Touska
شنبه 08 مرداد 1384, 10:00 صبح
چطور شد.

خبری نشد.

MiRHaDi
پنج شنبه 13 مرداد 1384, 00:55 صبح
سلام
تا جایی که یادمه شما قبلا هم این سوال رو کرده بودید
آقا تاریخ فارسی با این روش به TDate تبدیل کنی خراب میشه
شما 30 اردیبهشت رو تبدیل کن ببین چی میشه ! 31 پیش کش
یا به صورت رشته برخورد کن ! یا اصولی تبدیل کن
بای