Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di shaone
    Registrato dal
    Apr 2003
    Messaggi
    212

    [Java] Controllo fascia oraria

    Salve a tutti,
    premetto che di java non conosco nulla ma devo fare un controllo su una stringa per delle pagine jsp.

    In pratica ho una stringa con diversi orari tipo:

    codice:
    String orari = "8:00 16:00 20:30";
    poi ho un orario definito che potrebbe essere tipo:

    codice:
    String orario_predef = "13:30";
    In pratica devo controllare a quale fascia corrisponde il mio orario predefinito nella stringa orari (8:00 - 16:00 , 16:00 - 20:30 oppure 20:30 - 8:00).

    In questo caso per esempio il mio orario predefinito sta tra l'ora 8:00 e le 16:00.

    Spero di essermi spiegato.

    Grazie e spero in un suggerimento.

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    codice:
    StringTokenizer tok = new StringTokenizer(orari);
    Calendar[] dates = new Calendar[tok.countTokens()];
    int id = 0;
    while (tok.hasMoreTokens()) {
      String t = tok.nextToken();
      dates[id] = Calendar.getInstance();
      dates[id].set(Calendar.HOUR, Integer.parseInt(t.substring(0, t.indexOf(":"))));
      dates[id].set(Calendar.MINUTE, Integer.parseInt(t.substring(t.indexOf(":")+1)));
      id++;
    }
    Calendar predef = Calendar.getInstance();
    predef.set(Calendar.HOUR, Integer.parseInt(orario_predef.substring(0, orario_predef.indexOf(":"))));
    predef.set(Calendar.MINUTE, Integer.parseInt(orario_predef.substring(orario_predef.indexOf(":") + 1)));
    for (int i=0; i<dates.length; i++) {
      if (predef.before(dates[i]))
        // trovato
    }

  3. #3
    Utente di HTML.it L'avatar di shaone
    Registrato dal
    Apr 2003
    Messaggi
    212
    Ciao... prima di tutto grazie per la risposta, credimi.. č vitale in questo momento.
    Poi come dicevo sopra, mi sono avvicinato a java da qualche giorno e non conosco molto.

    Come utilizzo questa funzione?

    Supponendo che ho la seguente stringa:

    String lista_orari = "8:00 16:00 20:30";

    e il seguente orario:

    String orario = "17:35";


    Grazie 10000000000000000000000000000000000000000!!!

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    fai un metodo
    Calendar[] getOrariCompresi(String lista_orari, String orario)
    con il codice che ho postato
    dove ho scritto // trovato puoi fare questo
    return new Calendar[] {dates[i], dates[i+1]};
    ma devi essere sicuro che esista un dates[i+1]

  5. #5
    Utente di HTML.it L'avatar di shaone
    Registrato dal
    Apr 2003
    Messaggi
    212
    Purtroppo proprio non riesco a farlo funzionare...

    In pratica lo script che ho creato č questo.

    codice:
    <%
    StringTokenizer tok = new StringTokenizer(orari);
    Calendar[] dates = new Calendar[tok.countTokens()];
    int id = 0;
    while (tok.hasMoreTokens()) {
      String t = tok.nextToken();
      dates[id] = Calendar.getInstance();
      dates[id].set(Calendar.HOUR, Integer.parseInt(t.substring(0, t.indexOf(":"))));
      dates[id].set(Calendar.MINUTE, Integer.parseInt(t.substring(t.indexOf(":")+1)));
      id++;
    }
    Calendar predef = Calendar.getInstance();
    predef.set(Calendar.HOUR, Integer.parseInt(orario_predef.substring(0, orario_predef.indexOf(":"))));
    predef.set(Calendar.MINUTE, Integer.parseInt(orario_predef.substring(orario_predef.indexOf(":") + 1)));
    for (int i=0; i<dates.length; i++) {
      if (predef.before(dates[i]))
      {
    	out.print("ok");
      }
    }
    
    String lista_orari = "15:00 18:00 21:45 00:00";
    String orario = "19:30";
    Calendar[] getOrariCompresi(String lista_orari, String orario);
    %>


    Perdonami, ma sopportami per un po'...

  6. #6
    Utente di HTML.it L'avatar di shaone
    Registrato dal
    Apr 2003
    Messaggi
    212

    In pratica lo script che ho creato č questo.

    Volevo dire che hai creato... cmq la pagina che non va!

  7. #7
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    codice:
    <%!
    Calendar[] getOrariCompresi(String lista_orari, String orario) {
      StringTokenizer tok = new StringTokenizer(orari);
      Calendar[] dates = new Calendar[tok.countTokens()];
      int id = 0;
      while (tok.hasMoreTokens()) {
        String t = tok.nextToken();
        dates[id] = Calendar.getInstance();
        dates[id].set(Calendar.HOUR, Integer.parseInt(t.substring(0, t.indexOf(":"))));
        dates[id].set(Calendar.MINUTE, Integer.parseInt(t.substring(t.indexOf(":")+1)));
        id++;
      }
      Calendar predef = Calendar.getInstance();
      predef.set(Calendar.HOUR, Integer.parseInt(orario_predef.substring(0, orario_predef.indexOf(":"))));
      predef.set(Calendar.MINUTE, Integer.parseInt(orario_predef.substring(orario_predef.indexOf(":") + 1)));
      for (int i=0; i<dates.length; i++) {
        if (predef.before(dates[i])) {
          if (i < dates.length-1)
            return new Calendar[] {dates[i], dates[i+1]};
          else
            return new Calendar[] {dates[i], null};
        }
      }
      return null;
    }
    %>
    <%
    String lista_orari = "15:00 18:00 21:45 00:00";
    String orario = "19:30";
    Calendar[] cal = getOrariCompresi(lista_orari, orario);
    if (cal != null) {
      for (int i=0; i<cal.length; i++)
        out.print(cal[i]);
    }
    %>

  8. #8
    Utente di HTML.it L'avatar di shaone
    Registrato dal
    Apr 2003
    Messaggi
    212
    codice:
    Generated servlet error:
        [javac] Compiling 1 source file
    
    C:\Programmi\Apache Group\Tomcat 4.1\work\Standalone\main.alcotek.it\_\prepagato\analisi__jsp.java:42: ';' expected
    Calendar[] getOrariCompresi(String lista_orari, String orario) {
                               ^
    1 error
    Ultimo sforzo!

  9. #9
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    sicuro che hai messo <%!

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.