Quali caratteri potrebbero essere usati per sostituire i due punti nei nomi delle cartelle usando l'ora del giorno?


8

Spesso è conveniente per denominare i file e cartelle con la data e l'ora, come la norma ISO 8601 Formato: 2014-12-10T22:35:28.460Z.

Sfortunatamente, il file system HFS + del Mac utilizza COLON come separatore di percorsi proprio come i sistemi operativi simili a Unix utilizzano SOLIDUS /(barra) e i sistemi operativi Microsoft utilizzano REVERSE SOLIDUS \(barra rovesciata). Tutti e tre i caratteri devono essere evitati quando si nomina un file o una cartella per la compatibilità.

Quale personaggio potrebbe essere comunemente usato in sostituzione di COLON?

  • L'uso di un HYPHEN -rende difficile invertire programmaticamente la conversione al formato standard.
  • Allo stesso modo, l'utilizzo di un FULL STOP .(punto) rende difficile la conversione inversa poiché verranno interpretati erroneamente come secondi frazionari.

Ad esempio, durante la programmazione in Java 8 su OS X Mountain Lion, la richiesta File::mkdir()di stringhe 2014-12-11T21:33:08risulta in una cartella denominata 2014-12-11T21/33/08.


3
Praticamente tutti i moderni file system supportano spazi nei nomi dei file. Inoltre, se la leggibilità non è un problema, perché non semplicemente eliminare i caratteri offensivi e utilizzare un formato impostato, ad esempio: AAAAMMGGTHHMMSSZ.
Brian Duke,

Perché non usare semplicemente il: sembra funzionare bene dalla shell. Sospetto che solo il sistema operativo <= 9 e classico abbiano un problema con: quindi oggigiorno è un problema. AL: così i SO MS possono usare / come divisione di directory
Segna l'

@Mark Le versioni moderne del Finder possono gestire i due punti. Ma durante l'accesso programmatico, ne conseguono problemi.
Basil Bourque,

Non ho mai avuto problemi ad accedere a un file con due punti nel nome. Sembra strano dal Finder, poiché è passato a una barra.
0942v8653,

2
In particolare, HFS + consente ai nomi di file di contenere / ma non i due punti. Quando si è in Terminale (o dovunque si acceda al filesystem usando l'API POSIX anziché l'API Macintosh), il / nel nome come archiviato sul disco viene tradotto in: nella RAM e: nella RAM viene ritrasformato in / come nuovo nome file è memorizzato nel catalogo. I programmi che utilizzano l'API Macintosh tradizionale non sono interessati e vedono / proprio come appare sul disco. In questo modo ogni API ha solo un singolo carattere proibito (beh, due se conti NUL) e solo un singolo separatore di nome file, senza interferire tra loro.
Ganbustein,

Risposte:


6

È possibile evitare di utilizzare i due punti utilizzando stringhe (di base) di formato ISO 8601 ( YYYYMMDDTHHMMSSZ) per denominare file e cartelle. Lo standard consente di omettere i separatori dal YYYY-MM-DDTHH:MM:SSZformato.

Quindi entrambi questi esempi sono validi sotto lo standard:

2016-03-27T07: 01: 02Z

20160327T070102Z

Se è necessario elaborare quelle stringhe con determinati linguaggi di programmazione o di scripting, forse è necessario convertirle nel formato esteso che incorpora separatori (trattini, due punti) e informazioni sul fuso orario.

Notazione di data e ora standard internazionale - "Se una data e un valore di ora sono memorizzati insieme in un singolo campo di dati, allora ISO 8601 suggerisce che dovrebbero essere separati da una lettera maiuscola latina T, come in 19951231T235959". Quindi la Tmetà è facoltativa ( 19951231235959) ma suggerita.


Buona soluzione In effetti, le migliori librerie di data e ora come il framework java.time integrato in Java 8 e versioni successive e Joda-Time non hanno problemi ad analizzare il formato "base" o il formato più lungo che contiene i separatori.
Basil Bourque,

2

I due punti in rilievo, Unicode 0x02F8 (due punti in rilievo ˸ vs due punti:) non sarebbero interpretati come un separatore dal Finder o da altri script. (Maggiori informazioni sui due punti sollevati qui: http://www.charbase.com/02f8-unicode-modifier-letter-raised-colon )

Il modo di inserire quel personaggio varia, a seconda della versione di OS X. Maggiori dettagli sono disponibili sulla pagina di supporto di Apple: http://support.apple.com/en-us/HT201586


3
Idea interessante. Questa risposta è quasi troppo intelligente. Assomigliare tanto al normale COLON potrebbe causare confusione durante l'analisi.
Basil Bourque,

0

La punteggiatura ebraica ׃ funziona alla grande per me ... Unicode 05C3 ...


2
attenzione, che i due punti ebraici possono davvero rovinare le cose quando sono adiacenti ai numeri! Prova a digitare 1(due punti ebraici) 2. Rende indietro come 2:1! Qualcosa con l'ebraico da destra a sinistra. Ad ogni modo, sarebbe estremamente confuso se si provasse a usare le lingue da sinistra a destra.
Wisbucky,

Sì, probabilmente non è un'ottima alternativa se i renderizzatori di testo provano a passare alla modalità RTL quando incontrano questo personaggio :(
Matt M.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.