يوم سوالف، في 7 أغسطس القادم

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > تطوير الويب
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

موضوع مغلق
 
LinkBack أدوات الموضوع
عضو فعال جدا
تاريخ التسجيل: Nov 2000-
#1 (permalink)  
كيف تغّير شكل ساعة وتاريخ أي برنامج ؟


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

ربما يتضايق بعضنا من شكل ظهور التاريخ في احد برامجه التي يستخدمها في موقعه فتظهر بعضها بشكل عشوائي وغير منظم .... بعض البرامج إن لم يكن أغلبها تقوم بوضع صيغة تاريخ ووقت لا تتناسب وما تعودنا عليه عادةً ! ويعطينا موقع 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"

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

تحياتي






__________________
سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
ابومنار غير متواجد حالياً   قديم 04-06-2002, 05:26 AM
عضو نشيط جدا
تاريخ التسجيل: Oct 2001-
#2 (permalink)  

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


// 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;
}






الساحل الغربي غير متواجد حالياً   قديم 04-06-2002, 06:07 AM
عضو نشيط
تاريخ التسجيل: Jan 2002-
#3 (permalink)  

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






JSP غير متواجد حالياً   قديم 04-06-2002, 09:22 AM
Banned
تاريخ التسجيل: Jun 2001-
#4 (permalink)  

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






mhmd_24h غير متواجد حالياً   قديم 04-06-2002, 09:37 AM
Banned
تاريخ التسجيل: Dec 2000-
#5 (permalink)  

تطورت منفوحة






عاشق البحر غير متواجد حالياً   قديم 04-06-2002, 10:45 AM
عضو فعال جدا
تاريخ التسجيل: Nov 2000-
#6 (permalink)  

عزيزي mhmd_24h ..

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

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

تحياتي






__________________
سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
ابومنار غير متواجد حالياً   قديم 04-06-2002, 10:56 AM
Banned
تاريخ التسجيل: Jun 2001-
#7 (permalink)  

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

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

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

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

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






mhmd_24h غير متواجد حالياً   قديم 04-06-2002, 11:27 AM
عضو فعال جدا
تاريخ التسجيل: Nov 2000-
#8 (permalink)  

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

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

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

H:i, d/m/Y

وشكله :

18:30, 03/06/2002

تحياتي ,,






__________________
سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
ابومنار غير متواجد حالياً   قديم 04-06-2002, 11:47 AM
Banned
تاريخ التسجيل: Jun 2001-
#9 (permalink)  

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

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






mhmd_24h غير متواجد حالياً   قديم 04-06-2002, 11:51 AM
Banned
تاريخ التسجيل: Jun 2001-
#10 (permalink)  

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






mhmd_24h غير متواجد حالياً   قديم 05-06-2002, 09:38 AM
Banned
تاريخ التسجيل: Dec 2000-
#11 (permalink)  

ههههههه

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

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

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

ههههههههه






عاشق البحر غير متواجد حالياً   قديم 05-06-2002, 12:43 PM
عضو سوبر نشيط
تاريخ التسجيل: Jul 2001-
#12 (permalink)  

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

http://www.php.net/date

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

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






__________________
http://www.bokmade.ws/

bokmade@hot-des.com
WWF Manager غير متواجد حالياً   قديم 05-06-2002, 01:28 PM
عضو فعال جدا
تاريخ التسجيل: Nov 2000-
#13 (permalink)  

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

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

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

تحياتي






__________________
سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
ابومنار غير متواجد حالياً   قديم 05-06-2002, 02:00 PM
Banned
تاريخ التسجيل: Dec 2000-
#14 (permalink)  

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

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

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

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

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

تحياتي






عاشق البحر غير متواجد حالياً   قديم 07-06-2002, 04:08 AM
موضوع مغلق


أدوات الموضوع

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

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 10:42 AM بتوقيت المملكة العربية السعودية