Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Come ricavare una DataTime valida con due campi Data e ora

    Ho due campi textbox.
    Il primo lo riempio con una data, il secondo con un'ora.
    Nel server vorrei ricomporre una dataora valida utilizzando una espressione regolare per ricavare l'ora ed i minuti dal campo ora
    Siccome non ho mai utilizzato le espressioni regolari in una pagina asp.net :master: vi pregherei di dare un'occhiata al codice seguente che, peraltro sembra che funzioni
    codice:
            Dim d$ = ""
            Dim o$ = ""
            Dim h$ = "", m$ = ""
    
            Dim dt As DateTime
    
            Try
                d$ = Me.dv13_data_riunione.Text
                o$ = Me.dv13_ora_riunione.Text
                Dim re As New System.Text.RegularExpressions.Regex(Me.RegularExpressionValidator1.ValidationExpression)
                Dim mt As Match = re.Match(o)
                If mt.Success Then
                    Dim gr As GroupCollection = mt.Groups
                    h = gr(1).ToString 'recupero l'ora
                    m = gr(5).ToString 'recupero i minuti
    
                    'l'ora ed i minuti sono 0 di default
                    If h = "" Then h = "0"
                    If m = "" Then m = "0"
    
                    'ricreo un DataTime valido
                    'il separatore : è accettato pure se il separatore corrente per l'ora è il punto
                    dt = DateTime.Parse(d & " " & h & ":" & m & ":0")
                    Me.Label1.Text = dt.ToString
    
                Else
    
                End If
    
    
            Catch ex As Exception
                Me.Label1.Text = (ex.ToString)
            End Try
    Pietro

  2. #2
    Perché vuoi usare una regular expression per prendere i singoli dati?

    Se, come hai detto, in "dv13_data_riunione" e in "dv13_ora_riunione" hai i dati che ti interessano e vuoi convertire tutto in un oggetto DateTime fai semplicemente:
    codice:
    h=(dv13_ora_riunione.Text+":00").Replace(":",".")
    dt = DateTime.Parse(dv13_data_riunione.Text & h)
    Inoltre dichiara per ogni variabile il tipo, altrimenti hai prestazioni oscene.

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da AndreaZani
    Perché vuoi usare una regular expression per prendere i singoli dati?

    Se, come hai detto, in "dv13_data_riunione" e in "dv13_ora_riunione" hai i dati che ti interessano e vuoi convertire tutto in un oggetto DateTime fai semplicemente:
    codice:
    h=(dv13_ora_riunione.Text+":00").Replace(":",".")
    dt = DateTime.Parse(dv13_data_riunione.Text & h)
    Inoltre dichiara per ogni variabile il tipo, altrimenti hai prestazioni oscene.

    Ciao
    :master: Come ben vedi tutte le variabili sono dichiarate col tipo altrimenti visualstudio si rifiuta di compilare

    Il campo dv13_ora_riunione contiene sì un'ora ma in un formato piuttosto libero, ossia, l'utente può mettere 9, 09, 9:0, 09:00, che per me è abbastanza logico

    La mia domanda aveva sopratutto uno scopo didattico, visto che senza le espressioni regolare so risolvere bene, ma volevo appunto imparare ad usarle
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.