» »

[VB] date regex

[VB] date regex

korenje3 ::

A kdo ve kako bi lahko konvertiral string v datum.

V eni spremenljivki imam YYYYMMDD, v drugi pa datum. Sedaj bi pa rad da prepozna datum glede na prvo spremenljivko, ki nakazuje kje v drugi spremenljivki se nahaja leto, mesec in dan...
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W

Isotropic ::

vb ali vb.net?
pri slednjem imaš tudi standardne funkcije za datum, za prvega pa ne vem

korenje3 ::

vb.net

ne vem če se da uporabit parse za kaj takega...
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W

cekr ::

Zdej, če imaš stalno fiksno postavitev datuma v stringu, ga lepo razbi na 3 dele. Potem jih pa potegni v date.
Sinclair ZX Spectrum [Zilog Z80A - 3.5 MHz, 48kB, dvojni kasetofon,
TV-OUT, radirke, Sinclair-Basic], Sinclair ZX-81 [Z80A, 3.25MHZ, 1kB]

cekr ::

Module Program
Sub Main(args As String())
Dim _input As String = "20171202"
Dim _leto = _input.Substring(0, 4)
Dim _mesec = _input.Substring(4, 2)
Dim _dan = _input.Substring(6)
Dim _datum = New Date(_leto, _mesec, _dan)
Console.WriteLine("Datum:" & _datum.ToString)
Console.ReadLine()
End Sub
End Module


Moraš pa se zavedat, če bo _input kakorkoli drugačen, bo štala.
Sinclair ZX Spectrum [Zilog Z80A - 3.5 MHz, 48kB, dvojni kasetofon,
TV-OUT, radirke, Sinclair-Basic], Sinclair ZX-81 [Z80A, 3.25MHZ, 1kB]

Zgodovina sprememb…

  • spremenilo: cekr ()

smacker ::

RTFM: https://www.dotnetperls.com/datetime-pa...
Če hočeš uporabljat nestandardne formate, moraš pa z IF stavki najprej ugotovit, kakšen format definira prva spremenljivka, potem z substringi dobit dan, mesec in leto iz druge spremenljivke, na koncu pa skupaj zložiš v Date konstruktor - podobno kot je @cekr predlagal.

korenje3 ::

cekr, tko sem naredil na koncu. zna bit problem če ne bo vedno isti input. sam glede na to da imam opravka z nekaj 100k vrsticami se nebi preveč zajebaval.
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W

Zgodovina sprememb…

  • spremenil: korenje3 ()

NSA_Agent ::

Uporabi DateTime.TryParseExact().

Sicer tole je C# ampak je enako:
CultureInfo provider = CultureInfo.InvariantCulture;
DateTime date;
if (!DateTime.TryParseExact("20171230", "yyyymmdd", provider, DateTimeStyles.None, out date))
{
//Oh noes.
}

korenje3 ::

Ok. tole tudi dela.

Dim dateValue As DateTime
Date.TryParseExact(parsedline(1), "yyyymmdd", CultureInfo.InvariantCulture, DateTimeStyles.None, dateValue)
parsedline(1) = dateValue

Če bi hotel še uro ki je v formatu hhmmss, dodam to zraven?
besedilo ki bi ga raz razčlenil je tako:
        '<TICKER>,<DTYYYYMMDD>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
        'EURUSD, 20010102, 230100, 0.9507, 0.9507, 0.9507, 0.9507, 4
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W

Zgodovina sprememb…

  • spremenil: korenje3 ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C#] WPF vprašanja

Oddelek: Programiranje
101118 (740) Ciklamen
»

C# visual studio SQL problem

Oddelek: Programiranje
72081 (1659) Apple
»

[C#] Evidenca oseb

Oddelek: Programiranje
71153 (838) DaMachk
»

[C#] današnji datum in rojsni datum

Oddelek: Programiranje
374694 (4181) vojko20
»

C# delo z datumi

Oddelek: Programiranje
51126 (1027) MaCoFaCo

Več podobnih tem