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 44
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 44
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 Membre 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 Membre 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 44
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 44
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 Membre 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 44
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 44
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
Rejoignez-nous