Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    263

    [VB. NET] Come si imposta FirstDayOfWeek?

    Buongiorno.
    Ho digitato molto banalmente

    codice:
    Dim GiornoSettimana As Long
    GiornoSettimana = Weekday(Today)
    MsgBox(GiornoSettimana )

    e quando eseguo ottengo quello che dovrebbe essre il numero corrispondente al giorno della settimana.
    Invece ottengo un numero diverso: oggi, ad esempio, è Giovedì e quindi il giorno della settimana dovrebbe restituire 4, ma ottengo 5.
    Ho controllato nelle impostazioni di Windows (Windows 10) ed ho trovato che l'impostazione del promo giorno della settimana è Lunedì. Quidi oggi dovrebbe essere il giorno 4 e non 5.
    Non so se VB .NEt ha impostazioni diverse e soprattutto non so dove andare per cambiare questa impostazione.
    Qualcuno può aiutarmi?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Nella documentazione ufficiale mi pare ci sia scritto che il valore restituito non dipende dai Regional Settings, quindi il valore ottenuto è fisso.

    Se poi vuoi ottenere il giorno con criteri diversi, presumo ti basti applicare un offset al valore della funzione.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    263
    Quindi di default il promo giorno della settimana è Domenica (valli a capire questi americani, ...).

  5. #5
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    263
    È quello che ho fatto usando l'impostazione System.
    Però questo vuol dire che bisogna impostarlo ogni volta che richiami la "Weekday"?

  6. #6
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    La soluzione più semplice è quella suggerita da aka, aggiungere 1

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2011
    residenza
    Arezzo
    Messaggi
    194
    Quote Originariamente inviata da patel Visualizza il messaggio
    La soluzione più semplice è quella suggerita da aka, aggiungere 1
    Sicuramente è la soluzione più semplice e veloce, ma è un pagliativo, lui oggi vuole che il primo giorno sia lunedì, ma se per qualche motivo (es. web application multilingua) non può prevedere a priori se aggiungere o togliere 1 o....

    Secondo me quindi la cosa migliore è quella di utilizzare la CultureInfo per avere il corretto primo giorno della settimana, ad esempio

    codice:
    var ciITA = new System.Globalization.CultureInfo("it-IT");
    Console.WriteLine(ciITA.DateTimeFormat.FirstDayOfWeek); //ottieni Monday
    
    
    var ciUSA = new System.Globalization.CultureInfo("en-US");
    Console.WriteLine(ciUSA.DateTimeFormat.FirstDayOfWeek); //ottieni Sunday


    Praticamente recuperando la System.Globalization.CultureInfo.CurrentCulture ha sempre il giorno corretto senza fare alchimie
    Riccardo Sadocchi
    Microsoft MCP C#

  8. #8
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    Mi sembra una ottima soluzione

  9. #9
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    263
    Quote Originariamente inviata da rikyeko Visualizza il messaggio
    Sicuramente è la soluzione più semplice e veloce, ma è un pagliativo, lui oggi vuole che il primo giorno sia lunedì, ma se per qualche motivo (es. web application multilingua) non può prevedere a priori se aggiungere o togliere 1 o....

    Secondo me quindi la cosa migliore è quella di utilizzare la CultureInfo per avere il corretto primo giorno della settimana, ad esempio

    codice:
    var ciITA = new System.Globalization.CultureInfo("it-IT");
    Console.WriteLine(ciITA.DateTimeFormat.FirstDayOfWeek); //ottieni Monday
    
    
    var ciUSA = new System.Globalization.CultureInfo("en-US");
    Console.WriteLine(ciUSA.DateTimeFormat.FirstDayOfWeek); //ottieni Sunday


    Praticamente recuperando la System.Globalization.CultureInfo.CurrentCulture ha sempre il giorno corretto senza fare alchimie
    Mi hai salvato, grazie mille!!!!

  10. #10
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    263
    Quote Originariamente inviata da rikyeko Visualizza il messaggio
    ....

    Praticamente recuperando la System.Globalization.CultureInfo.CurrentCulture ha sempre il giorno corretto senza fare alchimie
    Ho parlato troppo presto: la dichiarazione che mi hai fornito credo debba essere inserita in qualche parte del codice e, se ho capito bene, una volta inserita dovrebbe condizionare tutto lo script di cui è parte? Sarebbe eccezionale, ma la mia conoscenza di VB .NET non è ancora sufficiente per sapere dove inserirla. Puoi aggiungere qualche info? grazie

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 © 2024 vBulletin Solutions, Inc. All rights reserved.