| |||||||
| المدوّنات | البحث | مشاركات اليوم | اجعل كافة المشاركات مقروءة |
|
| | LinkBack | أدوات الموضوع |
| |||||
| كيف تغّير شكل ساعة وتاريخ أي برنامج ؟ ربما يتضايق بعضنا من شكل ظهور التاريخ في احد برامجه التي يستخدمها في موقعه فتظهر بعضها بشكل عشوائي وغير منظم .... بعض البرامج إن لم يكن أغلبها تقوم بوضع صيغة تاريخ ووقت لا تتناسب وما تعودنا عليه عادةً ! ويعطينا موقع http://php.net عدة حلول لتلافي ذلك قدر الإمكان عن طريق تغيير المتغيرات المسئولة عن ذلك . ولكن كيف نقوم بالتغيير ؟؟؟ لا بد أن لكل برنامج يظهر به تاريخاً وتوقيتاً أن يكون قد قام بإتاحة الفرصة لتغيير شكل ظهور الوقت والتاريخ من لوحة التحكم .. مثلاً منتدى الفي بي يظهر في الخيارات العامة له خيار لهذا الشيء وبه حقل لشكل التاريخ وآخر للتوقيت . ستشاهد التاريخ بهذا الشكل m-d-Y وتعني بناءاً على الرموز السفلية : السنة-اليوم-الشهر بهذا الشكل 06-03-2002 ... إذن ستكون 6 هي الشهر و 3 هي اليوم و 2002 السنة !! وهذا لا يناسبنا نحن العرب على ما أعتقد أن يتقدم الشهر على اليوم !! إذن ما العمل ؟ من القائمة أدناه نستطيع تعديل ظهور هذا التاريخ بالشكل الذي نرغب .. لنجعلها هكذا d-m-Y مثلاً فتكون بهذا الشكل : 03-06-2002 أو لنحذف الأصفار بوضع j-n-Y فتكون بهذا الشكل 3-6-2002 أو لنقوم بوضع أسماء الأيام والشهور بأسماء نصية كهذا : الثلاثاء-يونيو-2002 (D-F-Y) أو يوم رقمي وشهر نصي (d-F-Y) فتظهر هكذا : 3-يونيو-2002 ............. وهكذا ... المثالين الأخيرين سيُظهران أسماء الأيام والشهور باللغة الإنجليزية مالم يوفر البرنامج الذي تستخدمه إمكانية تغيييرها في ملف لغة أو أي ملف آخر ! ولكن ماذا لو كان البرنامج لا يوفر إمكانية التغيير من خلال لوحة التحكم ؟؟؟؟ بالتأكيد سنبحث في داخل الملفات التنفيذية عن المتغيرات الخاصة بذلك وعادة تكون بهذا الشكل : كود: date("X,Y,Z"); يبقى أن أقول أنك لست ملزم بالشرطات - !! تستطيع تغييرها إلى سلاشات / مثلاً ليبدو هكذا مثلا : 03/06/2002 هنا تجد أحرفاً تقوم بما ترغب به مع إيضاح لعملها . a - تظهر هكذا "am" أو "pm" A - تظهر هكذا "AM" أو "PM" d - شكل من أشكال يوم في الشهر بأصفار بهذا الشكل "01" إلى "31" D - شكل من أشكال ظهور يوم في الأسبوع مثل "Fri" أو "الجمعة" F - شكل من أشكال ظهور الشهر مثل "January" أو "يناير" g - شكل من أشكال ظهور الساعة نوع 12 ساعة بدون أصفار مثل "1" إلى "12" G - شكل من أشكال ظهور الساعة نوع عسكري 24 ساعة بدون أصفار مثل "0" إلى "23" h - شكل من أشكال ظهور الساعة نوع 12 ساعة بأصفار مثل "01" إلى "12" H - شكل من أشكال ظهور الساعة نوع عسكري 24 ساعة بأصفار مثل "00" إلى "23" i - شكل من أشكال ظهور الدقائق مثل "00" إلى "59" I (حرف i كبير) - إظهار شكل الساعة من بدايتها وليس الوقت الحالي الفعلي مثل "05:0" j - شكل من أشكال يوم في الشهر بهذا الشكل "1" إلى "31" l (حرف 'L' صغير) - شكل من أشكال ظهور يوم في الأسبوع مثل "Fri" أو "الجمعة" m - شكل من أشكال ظهور الشهر مثل "01" إلى "12" M - شكل من أشكال ظهور الشهر عبارة عن الثلاث أحرف الأولى منه مثل "Jan" n - شكل من أشكال ظهور الشهر بدون أصفار مثل "1" إلى "12" O - تحويل إلى الفارق بين جرينتش "+0200" r - توقيت وتاريخ كامل مثل "Thu, 21 Dec 2000 16:01:07 +0200" ( PHP 4.0.4 فقط وما فوق) s - شكل الثواني مثل "00" إلى "59" S - إضافة اللواحق الرقمية الإنجليزية لأيام الشهر مثل "st", "nd", "rd" أو "th" t - إضافة عدد أيام الشهر الفعلي مثل "28" إلى "31" T - إضافة رمز المنطقة الزمنية مثل "EST" أو "MDT" w - يوم في الأسبوع مثل "0" (Sunday) إلى "6" (Saturday) Y - السنة بأربعة أرقام مثل "1999" y - السنة برقمين مثل "99" z - رقم اليوم في السنة مثل "0" إلى "365" أرجو نسخ المتغيرات ووضعها في ملف تكست حتى تظهر مرتبة أكثر من مما هو حاصل الآن تحياتي
__________________ سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك | |||||
|
| |||||
|
هذا برنامج وصل عبر بريدي ولم اجربه ولن اجربه قد يستفيد البعض منه وقد يكون مقلب لأن وصلني من شخص مجهول .// Clock6 Project #include <GL/glut.h> #include <time.h> #include <stdlib.h> //structur containing all values needed for clock struct tm *time_tm; float hour_float,min_float,sec_float; char * time_char; //time_t is a predefined class in time.h //ltime is used as a parameter for the function localtime time_t ltime; //a boolean variable later used in the program bool analog=true; void bitmap_text(float x,float y,char * string,void *font,int start,int len) { int i; glRasterPos2f(x,y); for(i=start;i<start+len;i++) glutBitmapCharacter(font,string[i]); } void init(void) { glClearColor (0.0, 0.0, 0.0, 0.0); glShadeModel (GL_FLAT); } //Displaying the clock void display(void) { int i; //char one_char[2]; glClear(GL_DEPTH_BUFFER_BIT|GL_COLOR_BUFFER_BIT); glPushMatrix(); //for 3D use glEnable(GL_DEPTH_TEST); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); //to specify the clock type, if true then clock is analog //otherwise it's a digital clock if(analog){ //drawing the outside shap of the clock glutSolidTorus(0.3,2.3,50,12) ; glutSolidSphere(1.8,120,120); //we could use "glutWireSphere(1.8,120,120);" instead } else{ // digital //we slightly rotate the cube so that it's fully displayed glRotatef ( 45, 1.0, 1.0, 0.0); glutSolidCube(2.0); } //disabling the 3d features so that we could use colors glDisable(GL_DEPTH_TEST); glDisable(GL_LIGHTING); glDisable(GL_LIGHT0); if(analog){ // drawing the minute markers glColor3f(1.0, 1.0, 1.0); for(i=0;i<60;i++){ //we rotate around the Z-axis glRotatef ( 6.0, 0.0, 0.0, 1.0); //minutes, 360/60=6 glRectf(1.9,0.015,1.7,-0.015); } // drawing the hour markers glColor3f(1.0, 1.0, 0.0); for(i=0;i<12;i++){ glRotatef (30.0, 0.0, 0.0, 1.0); //hours, 360/12=30 glRectf(1.9,0.04,1.6,-0.04); } // drawing the four quarter markers, hours 3,6,9,12 glColor3f(1.0, 0.5, 0.7); for(i=0;i<4;i++){ glRotatef ( 90, 0.0, 0.0, 1.0); glRectf(1.9,0.055,1.6,-0.055); } glColor3f(1.0, 1.0, 1.0); char x[1]; //bitmap takes a string parameter for( char cc='1';cc<='9';cc++){ glRotatef (-30.0, 0.0, 0.0, 1.0); x[0]=cc; //Numbering hour markers bitmap_text(0.0,1.5,x,GLUT_BITMAP_HELVETICA_18,0,2); } glRotatef (-30.0, 0.0, 0.0, 1.0); bitmap_text(0.0,1.5,"10",GLUT_BITMAP_HELVETICA_18,0,2); glRotatef (-30.0, 0.0, 0.0, 1.0); bitmap_text(0.0,1.5,"11",GLUT_BITMAP_HELVETICA_18,0,2); glRotatef (-30.0, 0.0, 0.0, 1.0); bitmap_text(0.0,1.5,"12",GLUT_BITMAP_HELVETICA_18,0,2); glColor3f(1.0, 0.0, 0.0); // drawing the hour hand glPushMatrix(); //the drawing angle glRotatef ((GLfloat) hour_float, 0.0, 0.0, 1.0); //casting is optional glBegin(GL_POLYGON); glVertex2f(-0.05,0.0); glVertex2f(-0.15,1.2); glVertex2f(0.0,1.4); glVertex2f(0.15,1.2); glVertex2f(0.05,00); glEnd(); glPopMatrix(); //every push has to have a pop assosiated with it glPushMatrix(); // drawing the minute hand glRotatef ( min_float, 0.0, 0.0, 1.0); //without casting glColor3f(1.0, 0.3, 0.0); glBegin(GL_POLYGON); glVertex2f(-0.03,0.0); glVertex2f(-0.1,1.5); glVertex2f(0.0,1.7); glVertex2f(0.1,1.5); glVertex2f(0.03,0.0); glEnd(); glPopMatrix(); // drawing the seconds hand glRotatef ( sec_float, 0.0, 0.0, 1.0); glColor3f(1.0, 0.6, 0.0); glBegin(GL_POLYGON); glVertex2f(-0.01,0.0); glVertex2f(-0.07,1.6); glVertex2f(0.0,1.8); glVertex2f(0.07,1.6); glVertex2f(0.01,0.0); glEnd(); } else // digital { //drawing the strings containing the time on the cube glColor3f(1.0, 0.0, 0.2); bitmap_text(-1.1,0.0,time_char,GLUT_BITMAP_TIMES_ROMAN_24,0,3); glColor3f(1.0, 0.0, 0.4); bitmap_text(-0.7,0.9,time_char,GLUT_BITMAP_TIMES_ROMAN_24,4,6); glColor3f(1.0, 0.0, 0.6); bitmap_text(0.3,0.85,time_char,GLUT_BITMAP_TIMES_ROMAN_24,20,4); glColor3f(1.0, 0.0, 0.8); bitmap_text(0.0,-0.5,time_char,GLUT_BITMAP_TIMES_ROMAN_24,11,8); glColor3f(1.0, 0.0, 1.0); bitmap_text(0.0,-0.8,"(Local Time)",GLUT_BITMAP_HELVETICA_18,0,12); } glPopMatrix(); glutSwapBuffers(); } void reshape (int w, int h) { glViewport (0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode (GL_PROJECTION); glLoadIdentity (); gluPerspective(65.0, (GLfloat) w/(GLfloat) h, 1.0, 20.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef (0.0, 0.0, -5.0); } //creating the menu void menu_choice(int selection) { switch (selection) { case 0 : exit(0); break; case 1: analog=true; break; case 2: analog=false; } } void timer1( int anyvalue){ //filling the structure with values from the system's clock time(<ime); //localtime returns the current local time of the system time_tm=localtime(<ime); time_char=ctime( <ime ); //calculating angles //between second markers sec_float=(float) time_tm->tm_sec*6; //360/60=6 //casting is a must because we need float values not integers //between minute markers min_float=(float) time_tm->tm_min*6 + sec_float/60.0; //between hour markers hour_float=(float) time_tm->tm_hour*30+ min_float/12.0; //360/12=30 //negetive value because we want it to rotate clockwise sec_float=-sec_float; min_float=-min_float; hour_float=-hour_float; glutPostRedisplay(); //time call back function glutTimerFunc(500,timer1,0); //every half a second the systems clock is checked and display //is called again } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB); glutInitWindowSize (600, 600); glutInitWindowPosition (0, 0); glutCreateWindow (argv[0]); init (); glutDisplayFunc(display); int menu = glutCreateMenu(menu_choice); glutAddMenuEntry("analog", 1); glutAddMenuEntry("digital",2); glutAddMenuEntry("quit",0); glutAttachMenu(GLUT_LEFT_BUTTON); glutReshapeFunc(reshape); glutTimerFunc(3,timer1,0); glutMainLoop(); return 0; } | |||||
|
| |||||
|
شكرا لك اخوي ابومنار كنت بسئل عنه وجيت انت نشرته طيب اخوي ابومنار اذاكانت الداله عندي زي كذا كود PHP: | |||||
|
| |||||
|
عزيزي mhmd_24h .. لا يمكن ان تقوم بتحويل إلى شهور عربية أو سنة هجرية كما تعرف .. الدالة التي طرحتها هذه ترجمتها 16:30 مثلا .. يعني الساعة الرابعة والنصف مساءاً .. تحياتي
__________________ سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك | |||||
|
| |||||
|
لا أعرف ماذا تقصد أن يظهر بالعربي ؟؟؟؟ سبق وذكرت إن كان البرنامج يوفر كلمات الأشهر والأيام بشكل او بآخر باللغة العربية في أحد ملفاته كان بها وإذا لم يكن فلن يكون ! هذا ما تريد H:i, M/d/Y تضعه بين القوسين ... وشكل سيكون هكذا 18:30, Jun/4/2002 وهو لا يناسب أعتقد ان يظهر إسم الشهر بالإنجليزي .. لذلك أقترح عليك وضعه بهذا الشكل : H:i, d/m/Y وشكله : 18:30, 03/06/2002 تحياتي ,,
__________________ سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك | |||||
|
| |||||
|
إخوي إذا تبي تعرف أكثر عن التاريخ فهو موجود هنا : http://www.php.net/date وممكن تشوف أكثر عن دالات الساعة وأشهرها وتقدر تظيف عليها بس خلك فاهم عنقلش نفسي <===== ما يدل كوعة من بوعة
__________________ http://www.bokmade.ws/ bokmade@hot-des.com | |||||
|
| |||||
|
جميل اخي mhmd_24h لكن ستتقدم السنة على الشهر واليوم .. d-m-Y H:i:s كذا أفضل ![]() ملاحظة : اللي على باله فاهم ترا فيه ناس مو فاهمة ويهمها هالمعلومات وايضاً انا ذكرت مصدر هالمعلومات ..فرجاءاً .. عن المداخلات اللي ما تقدم ولا تأخر !!! تحياتي
__________________ سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك | |||||
|
![]() |
| أدوات الموضوع | |
| |