Afficher la date "Hejir" (kestion pr les dév arabes kom moi :-) )

cs_Leila83
Messages postés
29
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
14 janvier 2007
- 7 nov. 2005 à 20:16
psychosic
Messages postés
46
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
11 novembre 2005
- 12 nov. 2005 à 16:50
Mes cordiales salutations à ts les dév de phpcs.com et en particuliers aux admins du site ;)

Sur certains sites arabes, il existe la date ke tt le monde connait :-) et la date "Hejir" (Le 07 Novembre 2005 pr les chrétiens correspond à 04 Chawwal 1426 pr les musulmans...).

Cmt faire pr dév ce type de script?

17 réponses

coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
41
7 nov. 2005 à 20:30
salut, t'as une slution simple : preg_match puis un remplacement,
cherches sur php.net et sur javascriptfr, un gars avant posé cette
question...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

0
psychosic
Messages postés
46
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
11 novembre 2005

7 nov. 2005 à 20:39
bon des rep comme ca je suis pas tres pour mais bon il a un peu raison...



Je t'explique le principe:



Tu dois convertir la date au format francais en seconde (en ce disant qu'il y a 28.25 jour au mois de fevrier.)



En suite, il te faut savoir la difference en seconde entre le temps francais et le temps arabe.





J'ai plusieurs question avant que je finisse l'explication:



Est ce que la base mensuelle est 12 mois

Est ce que la base hebdomadaire est 7 jours

Est ce que la base quotidienne est 24 Heures...



Je n'y connais pas grand chose en date mais si tu n'as pas les memes
dates ni la memes heures ni la meme base c un peu compliquer mais au
pire si t'as besoin j'ai un petit algo.



@+
0
psychosic
Messages postés
46
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
11 novembre 2005

7 nov. 2005 à 20:41
au fait j'ai oublier de te dire:



J'ai regarder ce que fais preg_match, j'ai pas tester mais teste avec
une date inférieure a 1970 donc 1969 si tu tiens compte des dates de
naissances. Car je ne sais pas si cela se base sur le temps UNIX.
0
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
41
7 nov. 2005 à 20:47
Juste comme ça : il existe plein de sources qui font des conversions
date américaines, dates française, t'as plein d'exemples sur php.net,
et on ne voit même pas le fait qu'il ai essayé de faire quelquechose...
Aucun test => aucun travail => réponse courte, orientation de
recherche...


Mon premier travail en équipe : faire une class de parsing html, j'ai
planché 10 h sur la doc de preg_match_all, (j'avais pas envi de faire
du tidy)... et j'ai pas posté de message ici pour savoir comment
faire... J'ai cherché comme un grand, alors quand je vois que pour un
pauvre problème de dates, on ne se pose pas de question, et on ne fait
aucun test, et qu'un demande déja des conseils, je réponds rapidement...


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
psychosic
Messages postés
46
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
11 novembre 2005

8 nov. 2005 à 10:46
pareil mais bon dans ce cas je prefere guidé que de balancer la source!



@+
0
malalam
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
8 nov. 2005 à 17:42
Hello,

- preg_match n'a aucun rapport avec le timestamp unix.
0
malalam
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
8 nov. 2005 à 17:46
gargl, si même moi je suis sujet aux bugs de CS...je continue :

et preg_matvch ne sera à mon avis d'aucune utilité ici. Il s'agit de conversion, pas de remplacement.
Bref : plus de précisions, ou cherches sur google, il doit déjà exister des algo qui font ça.
0
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
41
8 nov. 2005 à 17:51
lol



function date_mysql_timestamp($str){

//cette fonction met en forme une date timestamp

return preg_replace(

'/^([0-9]{4}).?([0-9]{2}).?([0-9]{2})\s?([0-9]{2}).?([0-9]{2}).?([0-9]{2})$/',

'\\3-\\2-\\1 \\4:\\5:\\6',

$str);

}





c'est ma fonction à moi, mais si tu fais un preg_match au lieu d'un
replace, tu peux alors traiter tes varibles cherchées avant de les
coller, tu pourras alors faire de jolies choses... tu pourras faire des
choses comme : convertire l'année et le mois...



Mon preg_match n'était pas la pour un timestamp d'unix (au cas ou, date existe), mais pour les dates SQL

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

0
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
41
8 nov. 2005 à 17:58
Tu me mets au défi de le faire avec un preg_match ? (lol, je tiens le
pari, mais je veux que tu m'autorise à le poster, et que tu te portes
volontaire pour la défendre si d'éventuelles personnes disent qu'elle
est inutile....)


Pour faire cette source, il me faut les détails exacts des dates en arabes...


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

0
cs_Leila83
Messages postés
29
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
14 janvier 2007

8 nov. 2005 à 22:08
1- L'année Hejir actuelle est 1426. (Les musulmans ne st pa encor au 3ème millénaire lol)

2- L'année musulmane est composée de 12 mois. Voici l'ordre des mois:

"Moharram",
"Safar",
"Rabii Al Awwal",
"Rabii Attani",
"Joumada Al Oula",
"Joumada Attania",
"Rajab",
"Chaabane",
"Ramadan", (le mois favoris des musulmans et le +connu des occidentaux :))
"Chawwal",
"Dou Lkiida",
"Dou Lhijja".

3- La semaine est composée de 7 jrs. C pa la peine de vs soucier du nom des jrs en arabes...

4- Le nb de jrs par mois dépend directement de la Lune:
- Un début de croissant gauche ==> 1ère nuit du mois
- La Pleine Lune ==> 14ème nuit du mois

5- Le mois "Lunaire" pt être soit 29 jrs, soit 30 jrs

6- Ns sommes le 05 Chawwal 1426

Sinon de mon côté, g trouvé un code intéressant ki donne la phase de la Lune du jour actuel:
http://www.javascriptfr.com/code.aspx?ID=31213

Allez, bonne prog et merci pr l'aide!
0
cs_jeca
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
14
9 nov. 2005 à 08:42
Bonjour,

C'est vrai qu'une petite recherche préalable à une question sur un forum ne nuit pas.
Une recherche avec google, mots clé : conversion +calendrier, donne la réponse à la 2ème ligne. Le code est en js, mais l'extrapoler en php ne doit pas être trop complexe.

Cordialement.

JC
0
malalam
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
9 nov. 2005 à 08:52
Coucou => il s'agit de conversion ici. Evidemment que tu peux utiliser preg_match et preg_replace...tu veux des kg en mg ?

1000 kg => je remplace "kg" par "g", puis "000" par ""...ça marche.
Mais c'est stupide (je prends un exemple simpliste exprès hein). Il
vaut mieux trouver l'algo qui fera la conversion, à mon sens.
0
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
41
9 nov. 2005 à 14:53
ouais ouais, t'as surement raison... Mais on peut faire un algo de
bourrin pour décortiquer une date SQL en format français facilement, il
ne reste que la conversion...



Pour le reste, le mieux serait de voir dans les paramètres de la
fonction date si on ne peut pas donner ça directement en arabe...



cherches date sur php.net...



Pour la conversion, la effectivement, comme le nombre de jours par mois
n'est pas facile à calculer, ça peut poser quelques problèmes...
Cherches du coté des librairies de calendrier : calendar...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

0
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
41
9 nov. 2005 à 22:51
http://www.javascriptfr.com/code.aspx?id=24986



ce script fonctionne t'il ?



si il fonctionne alors, je peux essayer de le porter en php...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

0
psychosic
Messages postés
46
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
11 novembre 2005

11 nov. 2005 à 00:34
je donne déja l'algo pour concertir une date en seconde:



$tabMonth[1]=31;

$tabMonth[2]=28.25;

$tabMonth[3]=31;

$tabMonth[4]=30;

$tabMonth[5]=31;

$tabMonth[6]=30;

$tabMonth[7]=31;

$tabMonth[8]=31;

$tabMonth[9]=30;

$tabMonth[10]=31;

$tabMonth[11]=30;

$tabMonth[12]=31;



$DateInSeconds=date(Y)*365.25*24*60*60+$tabMonth[date(n)]*24*60*60+date(j)*24*60*60+date(G)*60*60+date(i)*60+date(s)

//pour etre precis mais un mois lunaire est égale à 29,53059j





Bon si jamais tu arrive pas a continuer le code je reviendrais.
0
cs_Leila83
Messages postés
29
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
14 janvier 2007

11 nov. 2005 à 01:25
OK!! au cas où j'y arrive pa, j'te fé signe...sinon, je publierai volontier le code sur le site :))

Bonne prog et merci encore!
0
psychosic
Messages postés
46
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
11 novembre 2005

12 nov. 2005 à 16:50
pas de problème ;)
0