„standardní“ formát pro použití časového razítka jako součásti názvu souboru
<p>hledal jsem standardní formát pro použití data/času jako části názvu souboru a nemohl jsem přijít s ničím.</p><p>moje otázka je dvě části:</p><p><strong>používá časová razítka <del>prosadit jedinečný</del> v názvech souborů špatný postup?</strong></p><p>mohl bych získat čas od data vytvoření a serializovat názvy souborů (file0001.bak, file0002.bak, atd.), ale pouhým zahrnutím časového razítka umožňuje provádět operace se soubory, jako je <code>mv 2011-01* somewhere/</code>. existuje nevýhoda používání tohoto typu pojmenovacího systému?</p><p>formát, který používám, je <code>yyyy-mm-dd\_hh-mm-ss</code>.</p><p><strong>existuje lepší formát, který bych měl používat?</strong></p><p>s tímto formátem bych se měl zabývat kompatibilitou systému souborů, str\_to\_date\_parsing, atd.?</p><p>dík!</p><p>upravit:</p><p>možná jsem chtěl vynechat bit jedinečnosti <strong>vynutit</strong>, protože je to jediný uživatel vytvářející zálohu pomocí cronjob (neměly by tam být žádné problémy se souběžností).</p>
<p>měli byste zvážit formát iso 8601 (2013-04-01t13: 01: 02). ano, existují normy pro tyto věci. dvojtečky a spojovníky mohou být vynechány.</p><p>řetězec formátu, který obvykle používám, je <code>%y%m%dt%h%m%s</code> a přináší 20130401t130102. v závislosti na požadavcích vynechávám hodnoty zleva. v bash skriptu dostanu datum s řádkem jako:</p><pre><code>logdate=$(date +%y%m%dt%h%m%s) </code></pre>
Delphi 7? Docela slušný pravěk ![](/Client.Images/smileys/3.gif) Datum bude zcela určitě třeba zadávat v US formátu, pokud tam nemáš nějaký převod ... Byl jsem po skutečný formát má být použit na příkazovém řádku. Vidím zkompilované symboly při pohledu na vytvořené soubory, ale nejsem si jistý, jaký formát použít na příkazovém řádku. Každopádně díky za všechny odpovědi. To se obávám, že jiná možnost není. Ten vadný USB port nejspíš způsobí poškození FAT tabulky, čímž se znečitelní názvy souborů. Ty tam na té flashce už nikde jinde schované nejsou, takže obnovovací software obnoví jen to, co může, tedy v tomto případě asi všechny soubory, ale nemá z čeho zjistit jejich původní název. Kamarád má tedy hezkou práci na dlouhé zimní večery a může být rád, že má aspoň obsah souborů. Samozřejmě moralizování o nutnosti zálohování je asi házením hrachu na zeď, ovšem pokud dokonce ví o tom, že má takto doblblý USB port, tak se skoro chce říct, že dobře mu tak. No ale neudělám to a místo toho mu popřeji hodně trpělivosti :) Jaky mas nastaven datum a cas? To si disk na kterém máš důležitá data nemůžeš:A. Zálohovat tato data šifrovaně do cloudu.B. Uzamknout disk do zamykatelného šuplíků?C. Proboha.Kromě rad výše bych doporučil AcronisDiskDirector i ze zaváděcího média správně pracuje s oddíly vč. písmenek. Zasa niekto, kto vobec netusi ktora bije. Motas piate cez deviate.Nieco si o tom nastuduj. CSV je cisto textovy format, do ktoreho sa da ale ulozit iba excel ktory ma iba 1 list.Prave preto, ze v CSV iba zoznam hodnot stlpcov z jednotlivych riadkov oddelenych oddelovacim znakom, defaultne to byva strednik ";"Takze v CSV ziadny nazov listu nie je.T.j. riadok vyzera asi takto Honza Novy;Praha;16000;Dejvicka.Este moze byt, ze prvy riadok v subore su nazvy stlpcov a nie ciste data.Ak su v nejakom stlpci sdruzene data, tak na to musis napisat nejaky kod, ktory tie data sprave rozdeli - najpravdepodobnejsie pomocou substring. No tak dej -crf 25 a soubor bude hnedle menší, ovšem ta práce a čas strávený touto konverzí se nikdy nevyplatí - raději kup větší disk a na celou nesmyslnou konverzi se vy***....![](/Client.Images/smileys/6.gif) ORM může být váš nejlepší řešení.   

Nebo použít typ úložiště vzor, s „thingContext“ objekt, který je zodpovědný za státní vytrvalost.


Osobně používám Active Record, kde ušetřit logiku se peče do základní třídy, ale já odjíždím to ve prospěch NHibernate stylu úložiště vzor. Příspěvek na DDD a testování věci bez db je velmi příjemné mít v rámcové typu situace, kdy je moje obchodní logiky nyní získává trakci na novém uživatelském rozhraní. <p>ubuntu obsahuje gnu tar, který rozeznává formát sám! jeden příkaz pracuje s jakoukoli podporovanou kompresní metodou na <a href="http://www.gnu.org/software/tar/manual/tar.html#sec131">manuální</a> .</p><pre><code>tar xf archive.tar.xz tar xf archive.tar.gz tar xf archive.tar </code></pre><p>atd. pokud dehet dává <code>cannot exec</code> chyba, možná budete muset <code>sudo apt install xz-utils</code> za prvé.</p> <p>použil bych <code>collectors.groupingby</code> s upraveným <code>localdate</code> na klasifikátoru, takže položky s podobnými daty (podle <em>komprese</em> zadané uživatelem) jsou seskupeny dohromady.</p><p>nejprve vytvořte následující <code>map</code>:</p><pre><code>static final map&lt;string, temporaladjuster&gt; adjusters = new hashmap&lt;&gt;(); adjusters.put("day", temporaladjusters.ofdateadjuster(d -&gt; d)); // identity adjusters.put("week", temporaladjusters.previousorsame(dayofweek.of(1))); adjusters.put("month", temporaladjusters.firstdayofmonth()); adjusters.put("year", temporaladjusters.firstdayofyear()); </code></pre><p>poznámka: pro <code>"day"</code> je používáno <code>temporaladjuster</code>, které umožňuje nedotčené datum.</p><p>poté pomocí <code>compression</code> zadaného uživatelem dynamicky vyberte způsob seskupení seznamu položek:</p><pre><code>map&lt;localdate, list&lt;item&gt;&gt; result = list.stream() .collect(collectors.groupingby(item -&gt; item.getcreationdate() .with(adjusters.get(compression)))); </code></pre><p><code>localdate</code> se nastavuje metodou <a href="https://docs.oracle.com/javase/8/docs/api/java/time/localdate.html#with-java.time.temporal.temporaladjuster-"><code>localdate.with(temporaladjuster)</code></a> .</p>