J'ai un problème assez gênant. Je veux obtenir la date / l'heure actuelle et insérez-la dans un nom de fichier, mais je ne peux pas pour ma vie le faire fonctionner. P>
Je veux obtenir le temps comme 2011-11-18 12:13:57, puis insérez-le dans mon nom de fichier p>
Nom de fichier-2011-11-18-12: 13: 57.Ar.gz P>
J'ai essayé (J'écris à Eclipse Indigo) P> SimpleDateFormat code> etc. Mais cela ne fonctionnera tout simplement pas! P>
3 Réponses :
Utilisez-le pour obtenir la date de votre choix:
FileOutputStream out = context.openFileOutput(timeStamp , context.MODE_PRIVATE); out.write(string.getBytes()); out.close();
-1 DateFormat code> est créé mais non utilisé n'importe où? Aussi, pourquoi copieriez-vous une chaîne à une autre chaîne sans but?:
String lastdirSncTime = horodatage; code>
Je viens de copier et collez le code que j'utilisais dans une seule application, c'est pourquoi
OK, mais toujours dateformat code> n'est utilisé nulle part alors pourrait être supprimé. Et pourquoi pourquoi m'as-tu donné -1?
Ok, mais maintenant la date à laquelle il obtiendra sera toujours comme 2011-11-18 12:13:57 code> et cela ne fonctionne pas pour lui. (Voir les commentaires en question)
Vous pouvez utiliser ceci:
catch (Exception e) {}
Si j'utilise cette éclipse me dit que la date () est indéfinie et j'ai besoin d'arguments pour le faire correspondre ... Je peux l'obtenir d'imprimer la date mais la date est 01_01_1970
Ajoutez ensuite importer java.util.date; code>
Je ne peux pas croire que c'était la solution simple! J'ai joué avec ça pendant 2 jours! Je ne vous remercierai jamais assez! :) Eclipse a automatiquement importé tout le reste, mais pas celui-ci! Merci!
Vous pouvez vous débarrasser de l'avertissement dans Eclipse pour SimpleDateFormat en spécifiant une locale sûre connue. Par exemple, SimpleDateFormat Formatter = nouveau SimpleDateFormat ("yyyy_mm_dd_hh_mm_ss", locale.us);
J'espère que cela pourrait vous aider à obtenir la date et l'heure actuelles p>
Comment utiliser SimpleDateFormat pour montrer le date actuelle? p>
C'est un moyen terrible d'obtenir la date actuelle. Il existe déjà des fonctions Java à cette fin. De plus, le problème que l'affiche est confrontée ne reçoit pas la date, mais crée le fichier.
J'ai clairement mentionné ci-dessus que ceci est pour obtenir le courant de ne pas économiser dans le fichier @ las_vegas
Désolé mon mauvais, mais je pense que c'est toujours un très mauvais moyen d'obtenir la date actuelle. Parce que vous pouvez obtenir la date actuelle en tant que chaîne avec quelques lignes de code. Votre logique pourrait avoir un bug quelque part où il serait difficile de repérer.
Je pense que ce serait un nom de fichier non valide? Obtenez-vous une erreur ou vous aussi?
Je ne reçois aucune erreur, cela ne crée aucun fichier lorsque j'appuie sur le bouton ... J'essaie comme le nom de fichier - "+ date +". TAR.GZ Si je supprimai "+ date +" Cela crée le fichier sans aucun problème.
Ensuite, vous devez utiliser uniquement le nom de fichier invalide. Nom de fabrication de fichier comme FileName_2011_11_18_12_13_57.TAR.GZ. Cela ne créera pas de problème alors.
Remplacez le symbole '-' et ':' avec '_' en date, puis essayez-le. Cela devrait fonctionner
Je pense que @Hiral est correct sur le nom de fichier non valide. Essayez quelque chose comme
FileName_2011-11-18_12-13-57.tar.gz code>. En d'autres termes, distinct
nom de fichier code> à partir de la date code> avec un trait de soulignement et séparez la date code> code> à partir de l'heure code> avec un trait de soulignement et remplacer le
: code> dans l'heure
code> avec un
- code>. Ce serait beaucoup plus facile de
divisé code> si nécessaire et utiliserait des caractères valides pour un nom de fichier.
Comme les autres, je me méfie de ces personnages du côlon, mais cela pourrait être utile si vous avez posté un exemple de code que vous avez essayé, au cas où il s'agit d'autre chose.