الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن ال date format ؟

مغلق
بدأه osms2000 في 4 مايو 2007 · 14 رد · 2,555 مشاهدة · في قواعد بيانات MySQL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ،،،،،

جئتكم البوم بسؤال جديد راجياً منكم الجواب الشافي ، حيث اني بحثت في الإنترنت عن ما اريده ولم اجد شيئاً .

أقوم حالياً بعمل برنامج بستخدام ال php و ال mysql لتسجيل بيانات الموظفين ( إجازات - مباشرات عمل - دورات - ... ) وعمل ارشيف الكتروني لها ولكني واجهت مشكله في ادخال التاريخ حيث ان ال mysql يخزن التاريخ على شكل Y-M-D مع ان عمليه الادخال تكون على الشكل D-M-Y .

وبعد البحث وجدت دله تحول من الشكل الاول الى الثاني في عملية ال SELECT ولكن عند ال INSERT لا يمكنها ان تقوم بعمليه التحويل .

ارجوا منكم المساعدة :D

وشكرااااااااااااااااااااااااااااااااااااااااااااااا

#2

السلام عليكم...

أقترح عليك هذا الحل:

قبل إدخال التاريخ بصيغة DMY تقوم بإجتزاء قيم اليوم و الشهر و السنة من هذه السلسلة ثم تركبها كما شئت, استخدم الدالة:

substr(str,begin,count)

بالتوفيق....الحكيم

تم تعديل هذه المشاركة بواسطة phpspider في 4 مايو 2007 في 14:22

بسم الله الرحمن الرحيم

و قل ربي زدني علماً

صدق الله العظيم

#3

السلام عليكم ..

جزاك الله خيرا يا phpspider لردك السريع

فكرت في هذا الحل ولكن اردت داله اعطيها التاريخ والصيغة فتعطيني التاريخ المعدل لأن التواريخ لدي كثيرة :wacko:

شكراً مرة أخرى ;)

#4

السلام عليكم

شكل الـ data فى قاعدة البيانات مش مهم طالما ان شكل البيانات مش بيأثر فى قيمتها, على حد علمى مفيش طريقة لتغيير نظام الـ year-month-day الى بتستخدمه MySQL فى حفظ البيانات من نوع Date .

تغيير صيغة التاريخ المرتجع من قاعدة البيانات دة شئ بيرجعلك كمبرمج, ممكن تشوف هنا استخدام دالة date_format hgn بتوفرها MySQL

اعتقد الموضوع ليه علاقة اكتر بقسم MySQL فحنقله هناك إن شاء الله

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

#5

اخي ارفقت بعض الدوال التي تتعامل مع التاريخ والوقت

___________________.zip

#6

السلام عليكم ورحمة الله ،،

أخي shreef :

انا جربت ال date format للـ Mysql بس ما قدرت تحول شكل التاريخ في ال insert كان التحويل فقط عن الـ select statment علشان كذا طرحت الموضوع .

قد تكون فكرة نقل الموضوع لمنتدى الـ mysql فكرة جيدة .

وبانسبه للأخ Magdi :

في البداية أحب اشكرك على اهتمامك وردك بس للأسف الدوال الي ذكرتها غير موجودة .

#7

السلام عليكم,

osms, دالة date_format تستخدم فى جمل الـ SELECT وليس INSERT

فى جمل الـ INSERT مرر التاريخ الذى تريد تسجيله على نفس الشكل الى بتستخدمه MySQL , هى مش حتقبل غير شكل واحد هو year-month-day , ممكن التاريخ عندك انت بتستخدمه فى برنامجك على شكل مختلف, مثلا month-day-year , بالتالى حتحتاج تستخدم طرق تعيد بيها تشكيل التاريخ بحيث يبقى على شكل تقبله MySQL فى جمل الـ INSERT .

بالنسبة لـ php , يبقى انت ممكن تلقى نظرة على صفحات الدوال دى فى الـ manual :

strtotime

mktime

date

preg_match

substr

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

#8

جزاك الله خير يأخ shreef .

:rolleyes:

#9

الاساتذة الأفاضل /

كيف يمكنني تغير الفورمات الخاصة بالتاريخ والوقت لقاعدة البيانات بالكامل من مثلا

April 05,2007 at 05:30 PM

إلى

5/10/2007 3:09:25 PM

معكوس الاخير

وشكرا لكم

#10

السلام عليكم,

اخت مروة , هو دة الى احنا بنتكلمه عنه فى الموضوع. ان مش ممكن تغير الـ format الى بيتخزن عليها الوقت و التاريخ فى الـ DB .

رجاء مراجعة الموضوع من البداية لتجدى بعض الحلول المطروحة.

شكرا

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

#11
Marwa7000 كتب:
الاساتذة الأفاضل /

كيف يمكنني تغير الفورمات الخاصة بالتاريخ والوقت لقاعدة البيانات بالكامل من مثلا

April 05,2007 at 05:30 PM

إلى

5/10/2007 3:09:25 PM

معكوس الاخير

وشكرا لكم

بشكل عام طريقة التخزين في قواعد البيانات لحقل التاريخ تكون بشكل مختلف عن طريقة العرض اي ان طريقة التخزين هي واحدة وقد تكون رقم مثل الرقم

33445.44444

قد يعني وقت معين وتاريخ معين

اما ما نراه فهو يختلف من جهاز الى اخر حسب الاعدادات الاقليمية للجهاز والاعدادات للسيرفر

لذا للوصول الى ما هو مطلوب في هذا السؤال يجب تغيير الاعدادت الاقليمية في لوحة التحكم

#12

السلام عليكم

الاخ الفاضل Shref

شكرا لرد حضرتك ...لكن هل في كل مرة اقوم باستخدام التواريخ علي ان استخدم هذه الدوال ؟؟

كان القصد من سؤالي زي الاوراكل كنا ندخل على registry وتغير هناك format التاريخ وبالتالي يتغير للكل تلقائي ... فهل هناك طريقة شبيه بهذه في mysql ام لا

بالنسبة لي قمت بتغيير الformat في php لكن عند وضع اي تاريخ لا يقوم بعرض التاريخ في السجلات مع العلم انه يقبلها عند الإرسال ... فافترضت وجود تغيير في format الخاصة بقاعدة البيانات نفسها

ولك جزيل الشكر

#13

الاخ الفاضل / TareqVB

شكرا لحضرتك ... بالنسبة للإعدادات السيرفر بالنسبة لي قمت فقط بتغيير الاعدادات الخاصة بالاتصال بين mysql&PHP للوضعية الأخيرة .. فهل هنناك إعدادات أخرى تخص السيرفر

اما بالنسبة للإعدادات الإقليمية سأقوم بضبطها وان شاء الله تضبط معي

شكرا لحضرتك

#14

السلام عليكم,

اقتباس
...لكن هل في كل مرة اقوم باستخدام التواريخ علي ان استخدم هذه الدوال ؟؟

كان القصد من سؤالي زي الاوراكل كنا ندخل على registry وتغير هناك format التاريخ وبالتالي يتغير للكل تلقائي ... فهل هناك طريقة شبيه بهذه في mysql ام لا

انا دورت كتير فى الـ manual ملقتش حاجة زى دى للأسف, بس قريت ان فى متغير اسمه date_format احتمال حيتحط فى اصدارات قادمة يكون فيه الـ default value بتاعت دالة ()date_format إن شاء الله, ساعتها حتبقى اسهل شوية اعتقد.

فى حاجة تانية اتضافت من اول 5.0.25 بحيث تتعرض اسماء الشهور و الأيام على حسب الـ locale اللى تحدده, مش هى المطلوبة لكن يمكن حد يحب يلقى نظرة عليها ( lc_time_names ).

اقتباس
بالنسبة لي قمت بتغيير الformat في php لكن عند وضع اي تاريخ لا يقوم بعرض التاريخ في السجلات مع العلم انه يقبلها عند الإرسال

تقصدى بيظهرلك التاريخ 00-00-0000 ؟

يمكن فى حاجة غلط فى الـ format بتاعت التاريخ, حاولى تطبعى الأستعلام بتاعك قبل متنفذيه عشان تعرفى هل فى خطا او اى شئ.

شكرا

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

#15

شكرا لك اخي الكريم

ضبط الموضوع

هذا الموضوع مغلق.

مواضيع مشابهة