2009-04-17 11 views
0

J'ai essayé de diviser les données comme ci-dessous, mais l'erreur "dat.split n'est pas une fonction" s'affiche. Quelqu'un sait comment puis-je résoudre ce problème?Scinder les chaînes en JavaScript

var dat = new Date("2009/12/12"); 
var r = dat.split('/'); 
+0

@Jin Yong: Y a-t-il une raison particulière qui vous a fait supprimer votre message? C'est une question valide après tout ... (@Jeff Atwood: Merci d'avoir rétabli.) – Tomalak

Répondre

2

Vous ne pouvez pas split() une date - vous pouvez split() une chaîne, cependant:

var dat = "2009/12/12"; 
var r = dat.split('/'); 

retours:

["2009", "12", "12"] 

Pour faire l'équivalent d'une date, utilisez quelque chose comme ceci:

var dat = new Date(); 
var r = [dat.getFullYear(), dat.getMonth() + 1, dat.getDate()]; 

retours:

[2009, 4, 17] 
1

essayer

dat.toString().split('/'); 

mais cette solution est dépendante locale

+0

'new Date (" 2009/12/12 "). ToString(). Split ('/'); // ["Sat Dec 12 2009 00:00:00 GMT-0500 (heure normale de l'Est)"] ' –

+0

hey ai-je juste trouvé un bug dans stackoverflow, je suis sûr que j'ai supprimé ma réponse parce que j'ai trouvé qu'il y avait un problème noté par le commentaire ci-dessus. De plus, l'auteur du commentaire ci-dessus est 'nul'. – oscarkuo

1

Voulez-vous juste pour obtenir l'année, le mois et le jour? Dans ce cas, vous seriez mieux d'utiliser une solution dépendante non locale et appeler les fonctions suivantes:

dat.getDay(); 
dat.getMonth(); 
dat.getFullYear(); 

Bien sûr, ils ne seront pas zéro rembourré, mais qui est assez facile à faire.

Questions connexes