Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Sobre Fechas

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Sobre Fechas Responder citando

Hola a todos,

a ver si podeis ayudarme, me gustaría poder cambiar la hora en la que un día empieza.
Me explico: el día 2 de julio empieza a las 00.00 AM, cómo podría hacer para que empezara a las 12.00??

Merci,
Laura
Volver arriba
Mensaje    Asunto: Responder citando

Podrias dar un ejemplo de para que lo querés utilizar? Porque podrias hacer algo asi como sumarle 12 (o la diferencia que quieras) a la hora actual.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Buenas,
ante todo gracias, pero quisiera saber si existe alguna función, método etc para saber si puedo cambiar el formato de la fecha o algo parecido.
Merci,
Laura
Volver arriba
Mensaje    Asunto: Responder citando

Hola Laura,
La verdad que ni idea. Por eso te preguntaba para qué era y asi usar un poco el ingenio Smile
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Control fechas Responder citando

Hola Laura,
jo tambien estoy interesado en esa funcion o metodo, incluso me gustaria tambien saber si es possible saber si cierto dia es sabado o domingo, esto en Visual FoxPro es possible, lo q no se es si en C++ lo es.
la funcion que pides tb es possible con Visual FoxPro pero en C++ tampoco la encuentro Sad
Lo siento por no ajudarte, pero voy a investigar a la que sepa qualquier cosa la posteo

Oscar
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Re: Control fechas Responder citando

Kosky,
Lo que tenes que usar es "DayOfWeek". Extraido de la ayuda:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  char days[7][10] = {"Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado" };
  TDateTime dtDate = StrToDate(Edit1->Text);
  ShowMessage(Edit1->Text + AnsiString(" est un ") + days[dtDate.DayOfWeek() - 1]);
}


suerte
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: El codigo funciona correctamente. Responder citando

Gracias, era la funcion que estaba buscando, pero podriais contestar a Laura, pq estoy interesado en ese metodo, si mas no, estaria interesado en un codigo que me ilustrara el formateo de datas ( sumar horas, minutos, dias ...)

Gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Pues con el método SetLocaleInfo accedes a la configuración regional:


SetLocaleInfo(LOCALE_ITIME, LOCALE_STIMEFORMAT, "hh:mm");

la h minuscula son 12 horas i la H mayuscula son 24 horas.
_________________
I still believe in my own future.
l4z4rillo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Bueno ya les contesto l4z4rillo. Realmente no habia entendido del todo que era lo que querian. Cosas que pasan

suerte
diego
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

no se si esta era la duda de Laura, pero lo dudo, por mi parte lo que pido es un pequeño codigo que me muestre como sumar horas a un campo hora de access, por ejemplo, sumar 24 horas a una hora, o sumarles 2 dias a un dia, o sumarles 15 minutos a una hora.
gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

No sé si hay (pegue una mirada en el help y no vi nada que se asemeje). Por otro lado lo que tendrias que hacer, por ejemplo, es agarrar la fecha, pasarla a texto (DateToStr) y utilizar la parte que te interesa. Ejemplo:
Código:
AnsiString pepe= DateToStr(Date());  //"22/06/03"
AnsiString dia = pepe.SubStr(1,2);     //"22"
int ndia = dia.ToInt();                        //22
ndia= ndia+7;                                   //30

De esta manera incrementaste en uno el dia. Luego te resta volver a ensamblar la fecha en sentido contrario (StrToDate()).

si la cosa no camina avisame y esta noche (ahora no puedo) te doy una mano con las funciones.

suerte.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

ufff, pero asi le veo muchos problemas, como controlo final de mes? como se si son 30 o 31 dias, i si sumo horas como se que paso de dia ?
en Fox hay diferentes funciones que te suman sin tener que controlar tantos factores.
No se si me he explicado.
Yo estoy buscando pero es nula la info que encuentro con este tema
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Holas,

quería comentaros que yo también me he mirado la ayuda y creo que en profundidad y no he encontrado nada, e incluso a nivel de configuración del PC y res!!
Así que intentaré buscar algo, ya se que lo más parecido es crear una función que me sume 12 horas, pero como dice kosky es laborioso, así que seguiré buscando y bueno si alguien sabe algún método mejor, que nos ayude.
Igualmente gracias a todos por ayudarme,
Laura
Volver arriba
Mensaje    Asunto: Formato de horas Responder citando

Laura
¿Has mirado la configuración regional de Windows? La solución que te han dado de usar LOCAL_STIMEFORMAT es la que uso yo, y a mi me funciona bien. En el constructor de la aplicación puedes incluir los formatos que hacen falta:
Código:
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR cmdLine, int)
{
     ShortTimeFormat = "hh:mm AM/PM";
     ShortDateFormat = "DD/MM/YYYY";
     DateSeparator   = '/';
     
... Etc.

Si consultas la ayuda de FormatDateTime tienes todos los formatos; para un "reloj" de 12 horas has de añadir el indicativo de AM/PM, de hecho el ejemplo que viene en esta ayuda usa ese tipo de "reloj":
Código:
AnsiString S = "The meeting is on ";
S = S + FormatDateTime("dddd, mmmm d, yyyy ' at ' hh:mm AM/PM", Now() + 0.125)

Si tomamos, por ejemplo, que Now() valiera 08/07/2003 15:00:00, el mensaje sería este:
Cita:
The meeting is on Tuesday, July 8, 2003 at 18:00:00

porque el 0,125 que se suma a Now() son tres horas. La diferencia entre poner una o dos haches es sólo a la hora de presentarlo: con un hache te muestra una o dos posiciones, con dos te presenta siempre dos posiciones.
Cita:
Máscara h:m AM/PM
» Con h:m las 9h 3min se muestran como 9:3 AM y las 21h 3min como 9:3 PM
Máscara hh:mm AM/PM
» Con h:m las 9h 3min se muestran como 09:03 AM y las 21h 3min como 09:03 PM

A mi la prueba me ha funcionado. Wink

Kosky
Mira bien la ayuda de TDateTime. Entre otros métodos tienes los operadores +=, ++, etc.

Recuerda, de todas formas, que internamente Builder ve las fechas y horas como un número con decimales, de forma que la parte entera del número es la fecha, empezando a contar desde las 0 horas del 30 de diciembre de 1899 y la parte decimal la hora en fracción de día; por ejemplo:
Cita:
Las 18:41:46 del día 8 de julio de 2003, internamente sería el número 37810,779; 37810 son los días transcurridos desde aquella fecha y 0,779 es la fracción de día trascurrida desde las 0 horas

Tal vez esta forma de trabajar te pueda valer: Cada hora es 1/24 (0,04166 ) de día; es más fácil controlar ese tipo de cosas que el si me paso de 24 horas para cambiar de día o si el mes es de 28, 30 ó 31 días: ¡Qué se encargue el Builder de esos controles!
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.