النتائج 1 إلى 14 من 14

الموضوع: كيف تغّير شكل ساعة وتاريخ أي برنامج ؟

  1. #1

    كيف تغّير شكل ساعة وتاريخ أي برنامج ؟



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

    ربما يتضايق بعضنا من شكل ظهور التاريخ في احد برامجه التي يستخدمها في موقعه فتظهر بعضها بشكل عشوائي وغير منظم .... بعض البرامج إن لم يكن أغلبها تقوم بوضع صيغة تاريخ ووقت لا تتناسب وما تعودنا عليه عادةً ! ويعطينا موقع 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");
    X Y Z أمثلة من عندي ‍‍!! حاول أن تبحث عن جزء من المتغير مثل date(" وتشاهد مابين القوسين وتقوم بالتغيير لما يناسبك .

    يبقى أن أقول أنك لست ملزم بالشرطات - !! تستطيع تغييرها إلى سلاشات / مثلاً ليبدو هكذا مثلا :

    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"

    أرجو نسخ المتغيرات ووضعها في ملف تكست حتى تظهر مرتبة أكثر من مما هو حاصل الآن

    تحياتي





    __________________
    سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
    ابومنار غير متواجد حالياً


  2. #2


    هذا برنامج وصل عبر بريدي ولم اجربه ولن اجربه قد يستفيد البعض منه وقد يكون مقلب لأن وصلني من شخص مجهول .


    // 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(&ltime);
    //localtime returns the current local time of the system
    time_tm=localtime(&ltime);
    time_char=ctime( &ltime );
    //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;
    }





    الساحل الغربي غير متواجد حالياً

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Jan 2002
    المشاركات
    91


    الساحل الغربي البرنامج الذي وضعته ليس PHP وإنما ++C






    JSP غير متواجد حالياً

  4. #4
    Banned
    تاريخ التسجيل
    Jun 2001
    المشاركات
    1,067


    شكرا لك اخوي ابومنار كنت بسئل عنه وجيت انت نشرته طيب اخوي ابومنار اذاكانت الداله عندي زي كذا
    كود PHP:
    date("H:i, M d, Y 
    هذي الحين انجليزيه ابي احولها عربي علماً انا برنامج لايمكن تغير اسماء الشهور عن طريق ملفات البرنامح او لوحة التحكم





    mhmd_24h غير متواجد حالياً

  5. #5
    Banned
    تاريخ التسجيل
    Dec 2000
    المشاركات
    518


    تطورت منفوحة





    عاشق البحر غير متواجد حالياً

  6. #6


    عزيزي mhmd_24h ..

    لا يمكن ان تقوم بتحويل إلى شهور عربية أو سنة هجرية كما تعرف ..

    الدالة التي طرحتها هذه ترجمتها 16:30 مثلا .. يعني الساعة الرابعة والنصف مساءاً ..

    تحياتي





    __________________
    سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
    ابومنار غير متواجد حالياً

  7. #7
    Banned
    تاريخ التسجيل
    Jun 2001
    المشاركات
    1,067


    والله مادري ادرجت كود ولاطلع صح

    الكود
    date("H:i, M d, Y"

    الاول ماطلع كامل ماادري ليه

    هذي هي الداله
    date("H:i, M d, Y"

    كيف احولها الى عربي





    mhmd_24h غير متواجد حالياً

  8. #8


    لا أعرف ماذا تقصد أن يظهر بالعربي ؟؟؟؟ سبق وذكرت إن كان البرنامج يوفر كلمات الأشهر والأيام بشكل او بآخر باللغة العربية في أحد ملفاته كان بها وإذا لم يكن فلن يكون !

    هذا ما تريد H:i, M/d/Y تضعه بين القوسين ...
    وشكل سيكون هكذا 18:30, Jun/4/2002 وهو لا يناسب أعتقد ان يظهر إسم الشهر بالإنجليزي ..

    لذلك أقترح عليك وضعه بهذا الشكل :

    H:i, d/m/Y

    وشكله :

    18:30, 03/06/2002

    تحياتي ,,





    __________________
    سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
    ابومنار غير متواجد حالياً

  9. #9
    Banned
    تاريخ التسجيل
    Jun 2001
    المشاركات
    1,067


    رد مقتبس من عاشق البحر
    تطورت منفوحة

    اولا مشكور اخوي ابو منار بجربها اليوم وارد لك خبر لاكن المهايطي ذا وش يبي





    mhmd_24h غير متواجد حالياً

  10. #10
    Banned
    تاريخ التسجيل
    Jun 2001
    المشاركات
    1,067


    اخي ابومنار لقد وجدت طريقة ثانيه وهي وضع date("Y-m-d H:i:s ماذا رأيك





    mhmd_24h غير متواجد حالياً

  11. #11
    Banned
    تاريخ التسجيل
    Dec 2000
    المشاركات
    518


    ههههههه

    يا مسكين يا محمد انا قايلها لابو منار مهوب لك

    لكن انت فهمتها انها لك .. مشكلتك

    كيفيك ابو منار .. ان شاء الله طيب

    ههههههههه





    عاشق البحر غير متواجد حالياً

  12. #12
    عضو سوبر نشيط
    تاريخ التسجيل
    Jul 2001
    المشاركات
    711


    إخوي إذا تبي تعرف أكثر عن التاريخ فهو موجود هنا :

    http://www.php.net/date

    وممكن تشوف أكثر عن دالات الساعة وأشهرها وتقدر تظيف عليها بس

    خلك فاهم عنقلش نفسي <===== ما يدل كوعة من بوعة





    __________________
    http://www.bokmade.ws/

    bokmade@hot-des.com
    WWF Manager غير متواجد حالياً

  13. #13


    جميل اخي mhmd_24h لكن ستتقدم السنة على الشهر واليوم ..

    d-m-Y H:i:s كذا أفضل

    ملاحظة : اللي على باله فاهم ترا فيه ناس مو فاهمة ويهمها هالمعلومات وايضاً انا ذكرت مصدر هالمعلومات ..فرجاءاً .. عن المداخلات اللي ما تقدم ولا تأخر !!!

    تحياتي





    __________________
    سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
    ابومنار غير متواجد حالياً

  14. #14
    Banned
    تاريخ التسجيل
    Dec 2000
    المشاركات
    518


    انا مع ابو منار

    ما نبي مداخلات و مهاترات

    و ايضا ما نبي احد يقلب على اخوياه و يحذفهم من المسينجر عشان عرب له كم برنامج و طلع بالجريده

    و كل ما قلنا له يابن الناس وينك و راك علينا قام يتهرب

    ما نبي الحركة الشينه الي فوق

    تحياتي





    عاشق البحر غير متواجد حالياً





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض