Discussion:
Hora
(too old to reply)
Suelen
2008-09-16 11:41:00 UTC
Permalink
Olá, estou com um problema, quero exibir a hora do sistema de um mobile,
estou usando o seguinte codigo:

label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");

porém ele nao esta pegando a hora exata, esta sempre uma hora adiantado...
o que há de errado?
Marcos Machado
2008-09-19 20:40:01 UTC
Permalink
Olá Suelen,
a configuração de data e hora que ele está pegando do sistema talvez esteja
errada,
veja a configuração de regionalização.
Post by Suelen
Olá, estou com um problema, quero exibir a hora do sistema de um mobile,
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
porém ele nao esta pegando a hora exata, esta sempre uma hora adiantado...
o que há de errado?
Suelen
2008-09-22 10:58:00 UTC
Permalink
Mais onde eu posso achar esta configuração?

obrigada.

Obs: a hora que fica logo em cima no emulador esta correta com a do sistema,
so a que aparece com a label que esta uma hora a mais, os minutos e segundos
estao corretos tbm.
Post by Marcos Machado
Olá Suelen,
a configuração de data e hora que ele está pegando do sistema talvez esteja
errada,
veja a configuração de regionalização.
Post by Suelen
Olá, estou com um problema, quero exibir a hora do sistema de um mobile,
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
porém ele nao esta pegando a hora exata, esta sempre uma hora adiantado...
o que há de errado?
Marcos Machado
2008-09-22 12:20:01 UTC
Permalink
Ola suellen,
eu acho que tem a ver com a cultura do programa.
faça o seguinte
coloque isto aqui:

CultureInfo ci = new CultureInfo("pt-BR");
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss", ci);

acho que irá resolver, sistema estiver com a cultura pt-BR vai ficar com a
mesma hora dele.
Post by Suelen
Mais onde eu posso achar esta configuração?
obrigada.
Obs: a hora que fica logo em cima no emulador esta correta com a do sistema,
so a que aparece com a label que esta uma hora a mais, os minutos e segundos
estao corretos tbm.
Post by Marcos Machado
Olá Suelen,
a configuração de data e hora que ele está pegando do sistema talvez esteja
errada,
veja a configuração de regionalização.
Post by Suelen
Olá, estou com um problema, quero exibir a hora do sistema de um mobile,
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
porém ele nao esta pegando a hora exata, esta sempre uma hora adiantado...
o que há de errado?
Suelen
2008-09-22 14:11:01 UTC
Permalink
Marcos, estou usando o VS 2008 e não tem esta propriedade CultureInfo..

porem eu preciso de ajuda mais urgente em uma outra coisa se puder me ajudar
por favor..
é com data...

é assim, eu preciso fazer uma comparação da data atual do servidor com uma
data que tenho definida no banco de dados que seria uma data prevista, so que
a data prevista no banco de dados esta cadastrada para aparecer assim
21082008, sem barra nada..
como eu posso fazer para comparar essas datas e saber quantos Dias há de
diferença..

agradeço muito se puder me ajudar...
Post by Marcos Machado
Ola suellen,
eu acho que tem a ver com a cultura do programa.
faça o seguinte
CultureInfo ci = new CultureInfo("pt-BR");
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss", ci);
acho que irá resolver, sistema estiver com a cultura pt-BR vai ficar com a
mesma hora dele.
Post by Suelen
Mais onde eu posso achar esta configuração?
obrigada.
Obs: a hora que fica logo em cima no emulador esta correta com a do sistema,
so a que aparece com a label que esta uma hora a mais, os minutos e segundos
estao corretos tbm.
Post by Marcos Machado
Olá Suelen,
a configuração de data e hora que ele está pegando do sistema talvez esteja
errada,
veja a configuração de regionalização.
Post by Suelen
Olá, estou com um problema, quero exibir a hora do sistema de um mobile,
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
porém ele nao esta pegando a hora exata, esta sempre uma hora adiantado...
o que há de errado?
Marcos Machado
2008-09-22 14:48:10 UTC
Permalink
Oi suelen,

Bom tem dois metodos quando passar os dados, um é adicionar as barras ou
retirar as barras da outra data.
vou colocar aqui o metodo para a primeira opção que é melhor na minha opnião.

string dataBanco = "21082008";
string dataLocal = "30/11/2008";

DateTime date1 = new DateTime();
DateTime date2 = new DateTime();
TimeSpan dateTime;

dataBanco = dataBanco.Insert(2, "/").Insert(5, "/");

date1 = DateTime.Parse(dataLocal);
date2 = DateTime.Parse(dataBanco);

dateTime = date1 - date2;

label.Text = dateTime.Days + " Dias";

outra coisa suelen talvez tenha que colocar o using System.Globalization; em
cima do código para poder fazer pegar o cultureinfo.
qualquer duvida estarei a disposicao.
Post by Suelen
Marcos, estou usando o VS 2008 e não tem esta propriedade CultureInfo..
porem eu preciso de ajuda mais urgente em uma outra coisa se puder me ajudar
por favor..
é com data...
é assim, eu preciso fazer uma comparação da data atual do servidor com uma
data que tenho definida no banco de dados que seria uma data prevista, so que
a data prevista no banco de dados esta cadastrada para aparecer assim
21082008, sem barra nada..
como eu posso fazer para comparar essas datas e saber quantos Dias há de
diferença..
agradeço muito se puder me ajudar...
Post by Marcos Machado
Ola suellen,
eu acho que tem a ver com a cultura do programa.
faça o seguinte
CultureInfo ci = new CultureInfo("pt-BR");
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss", ci);
acho que irá resolver, sistema estiver com a cultura pt-BR vai ficar com a
mesma hora dele.
Post by Suelen
Mais onde eu posso achar esta configuração?
obrigada.
Obs: a hora que fica logo em cima no emulador esta correta com a do sistema,
so a que aparece com a label que esta uma hora a mais, os minutos e segundos
estao corretos tbm.
Post by Marcos Machado
Olá Suelen,
a configuração de data e hora que ele está pegando do sistema talvez esteja
errada,
veja a configuração de regionalização.
Post by Suelen
Olá, estou com um problema, quero exibir a hora do sistema de um mobile,
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
porém ele nao esta pegando a hora exata, esta sempre uma hora adiantado...
o que há de errado?
Suelen
2008-09-22 20:56:20 UTC
Permalink
Marcos eu lhe agradeço muito, não consegui exatamente da forma que me
mostrou, mais se nao tivesse me falado do CultureInfo nao teria dado certo
nunca... veja como esta ficando



String data1, data2;
CultureInfo ci = new CultureInfo("pt-BR");
data1 =
reader.GetString(reader.GetOrdinal("dta_prev_ccn"));
data1 = data1.Insert(2, "/").Insert(5, "/");

data2 = DateTime.Now.ToString("dd/MM/yyyy",ci);

DateTime dt1 = Convert.ToDateTime(data1, ci);
DateTime dt2 = Convert.ToDateTime(data2, ci);

TimeSpan dif, dif2;
//Int16 dif2;

if (Convert.ToDateTime(data2, ci) <
Convert.ToDateTime(data1, ci))
{
dif = dt2.Subtract(dt1);

if (dif.Days >= 70)
{

//MessageBox.Show(dif.Days.ToString());
//dif2 = dif.Days-70;
}
else
{
MessageBox.Show(dif.ToString());
}
//MessageBox.Show(result.Days.ToString());

}

else
{

//Caso contrário

}

se puder me ajudar mais uma vez, eu so nao estou conseguindo subtrair 70
dias logo ali em cima onde coloquei
//dif2 = dif.Days-70;

grata!
Post by Marcos Machado
Oi suelen,
Bom tem dois metodos quando passar os dados, um é adicionar as barras ou
retirar as barras da outra data.
vou colocar aqui o metodo para a primeira opção que é melhor na minha opnião.
string dataBanco = "21082008";
string dataLocal = "30/11/2008";
DateTime date1 = new DateTime();
DateTime date2 = new DateTime();
TimeSpan dateTime;
dataBanco = dataBanco.Insert(2, "/").Insert(5, "/");
date1 = DateTime.Parse(dataLocal);
date2 = DateTime.Parse(dataBanco);
dateTime = date1 - date2;
label.Text = dateTime.Days + " Dias";
outra coisa suelen talvez tenha que colocar o using System.Globalization; em
cima do código para poder fazer pegar o cultureinfo.
qualquer duvida estarei a disposicao.
Post by Suelen
Marcos, estou usando o VS 2008 e não tem esta propriedade CultureInfo..
porem eu preciso de ajuda mais urgente em uma outra coisa se puder me ajudar
por favor..
é com data...
é assim, eu preciso fazer uma comparação da data atual do servidor com uma
data que tenho definida no banco de dados que seria uma data prevista, so que
a data prevista no banco de dados esta cadastrada para aparecer assim
21082008, sem barra nada..
como eu posso fazer para comparar essas datas e saber quantos Dias há de
diferença..
agradeço muito se puder me ajudar...
Post by Marcos Machado
Ola suellen,
eu acho que tem a ver com a cultura do programa.
faça o seguinte
CultureInfo ci = new CultureInfo("pt-BR");
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss", ci);
acho que irá resolver, sistema estiver com a cultura pt-BR vai ficar com a
mesma hora dele.
Post by Suelen
Mais onde eu posso achar esta configuração?
obrigada.
Obs: a hora que fica logo em cima no emulador esta correta com a do sistema,
so a que aparece com a label que esta uma hora a mais, os minutos e segundos
estao corretos tbm.
Post by Marcos Machado
Olá Suelen,
a configuração de data e hora que ele está pegando do sistema talvez esteja
errada,
veja a configuração de regionalização.
Post by Suelen
Olá, estou com um problema, quero exibir a hora do sistema de um mobile,
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
porém ele nao esta pegando a hora exata, esta sempre uma hora adiantado...
o que há de errado?
Marcos Machado
2008-09-22 21:38:06 UTC
Permalink
olá suelen,
está ficando bom o código,
quanto ao subtrair o 70 nós podemos fazer uma converção para efetuar o
código, já que o numero tem uqe ser inteiro para tal.

então a linha do código irá ficar assim:

int number;
number = Convert.ToInt32(dif.Days)-70;

ou podemos fazer dessa forma:

quando for escrever

MessageBox.Show((dif.Days - 70) + " Texto");
// não precisa de conversão em nenhum dos dois casos, suelen, é implicito
falar que pode assumir inteiro, ou em string, uma vantagem de usar o timespan.

Qualquer coisa é só chamar, se quiser aqui está o meu e-mail para troca
Post by Suelen
Marcos eu lhe agradeço muito, não consegui exatamente da forma que me
mostrou, mais se nao tivesse me falado do CultureInfo nao teria dado certo
nunca... veja como esta ficando
String data1, data2;
CultureInfo ci = new CultureInfo("pt-BR");
data1 =
reader.GetString(reader.GetOrdinal("dta_prev_ccn"));
data1 = data1.Insert(2, "/").Insert(5, "/");
data2 = DateTime.Now.ToString("dd/MM/yyyy",ci);
DateTime dt1 = Convert.ToDateTime(data1, ci);
DateTime dt2 = Convert.ToDateTime(data2, ci);
TimeSpan dif, dif2;
//Int16 dif2;
if (Convert.ToDateTime(data2, ci) <
Convert.ToDateTime(data1, ci))
{
dif = dt2.Subtract(dt1);
if (dif.Days >= 70)
{
//MessageBox.Show(dif.Days.ToString());
//dif2 = dif.Days-70;
}
else
{
MessageBox.Show(dif.ToString());
}
//MessageBox.Show(result.Days.ToString());
}
else
{
//Caso contrário
}
se puder me ajudar mais uma vez, eu so nao estou conseguindo subtrair 70
dias logo ali em cima onde coloquei
//dif2 = dif.Days-70;
grata!
Post by Marcos Machado
Oi suelen,
Bom tem dois metodos quando passar os dados, um é adicionar as barras ou
retirar as barras da outra data.
vou colocar aqui o metodo para a primeira opção que é melhor na minha opnião.
string dataBanco = "21082008";
string dataLocal = "30/11/2008";
DateTime date1 = new DateTime();
DateTime date2 = new DateTime();
TimeSpan dateTime;
dataBanco = dataBanco.Insert(2, "/").Insert(5, "/");
date1 = DateTime.Parse(dataLocal);
date2 = DateTime.Parse(dataBanco);
dateTime = date1 - date2;
label.Text = dateTime.Days + " Dias";
outra coisa suelen talvez tenha que colocar o using System.Globalization; em
cima do código para poder fazer pegar o cultureinfo.
qualquer duvida estarei a disposicao.
Post by Suelen
Marcos, estou usando o VS 2008 e não tem esta propriedade CultureInfo..
porem eu preciso de ajuda mais urgente em uma outra coisa se puder me ajudar
por favor..
é com data...
é assim, eu preciso fazer uma comparação da data atual do servidor com uma
data que tenho definida no banco de dados que seria uma data prevista, so que
a data prevista no banco de dados esta cadastrada para aparecer assim
21082008, sem barra nada..
como eu posso fazer para comparar essas datas e saber quantos Dias há de
diferença..
agradeço muito se puder me ajudar...
Post by Marcos Machado
Ola suellen,
eu acho que tem a ver com a cultura do programa.
faça o seguinte
CultureInfo ci = new CultureInfo("pt-BR");
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss", ci);
acho que irá resolver, sistema estiver com a cultura pt-BR vai ficar com a
mesma hora dele.
Post by Suelen
Mais onde eu posso achar esta configuração?
obrigada.
Obs: a hora que fica logo em cima no emulador esta correta com a do sistema,
so a que aparece com a label que esta uma hora a mais, os minutos e segundos
estao corretos tbm.
Post by Marcos Machado
Olá Suelen,
a configuração de data e hora que ele está pegando do sistema talvez esteja
errada,
veja a configuração de regionalização.
Post by Suelen
Olá, estou com um problema, quero exibir a hora do sistema de um mobile,
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
porém ele nao esta pegando a hora exata, esta sempre uma hora adiantado...
o que há de errado?
Suelen
2008-09-23 12:44:01 UTC
Permalink
Bom dia Marcos,

o codigo que me passou

int number;
number = Convert.ToInt32(dif.Days)-70;

deu super certo, porem eu preciso mando a subtração de dif.Days-70 para a
variavel dif2 que tem é TimeSpan e ai ela nao esta aceitando, pede para
converter int para TimeSpan, preciso que fique na dif2 pois abaixo deste if
que verifica se é maior que 70 vai ter um if que verifica se dif2 é maior que
10 dias
os messagebox nao ficarao, eu estava usando apenas para saber se o valor da
conta estava correto

if (dif.Days >= 70)
{
//int number;
//number = Convert.ToInt32(dif.Days) - 70;
//MessageBox.Show(dif.Days.ToString());
dif2 = dif.Days - 70;
}
else
{
dif2 = dif.Days;

//MessageBox.Show(dif2.Days.ToString());//MessageBox.Show(result.Days.ToString());
}

if (dif2.Days >= 10)
{
result = "D"; // Mensagem e bloqueia
}
else
{
result = "S"; // Mensagem
}
}


Obrigada... esta me ajudando muito =}
Post by Marcos Machado
olá suelen,
está ficando bom o código,
quanto ao subtrair o 70 nós podemos fazer uma converção para efetuar o
código, já que o numero tem uqe ser inteiro para tal.
int number;
number = Convert.ToInt32(dif.Days)-70;
quando for escrever
MessageBox.Show((dif.Days - 70) + " Texto");
// não precisa de conversão em nenhum dos dois casos, suelen, é implicito
falar que pode assumir inteiro, ou em string, uma vantagem de usar o timespan.
Qualquer coisa é só chamar, se quiser aqui está o meu e-mail para troca
Post by Suelen
Marcos eu lhe agradeço muito, não consegui exatamente da forma que me
mostrou, mais se nao tivesse me falado do CultureInfo nao teria dado certo
nunca... veja como esta ficando
String data1, data2;
CultureInfo ci = new CultureInfo("pt-BR");
data1 =
reader.GetString(reader.GetOrdinal("dta_prev_ccn"));
data1 = data1.Insert(2, "/").Insert(5, "/");
data2 = DateTime.Now.ToString("dd/MM/yyyy",ci);
DateTime dt1 = Convert.ToDateTime(data1, ci);
DateTime dt2 = Convert.ToDateTime(data2, ci);
TimeSpan dif, dif2;
//Int16 dif2;
if (Convert.ToDateTime(data2, ci) <
Convert.ToDateTime(data1, ci))
{
dif = dt2.Subtract(dt1);
if (dif.Days >= 70)
{
//MessageBox.Show(dif.Days.ToString());
//dif2 = dif.Days-70;
}
else
{
MessageBox.Show(dif.ToString());
}
//MessageBox.Show(result.Days.ToString());
}
else
{
//Caso contrário
}
se puder me ajudar mais uma vez, eu so nao estou conseguindo subtrair 70
dias logo ali em cima onde coloquei
//dif2 = dif.Days-70;
grata!
Post by Marcos Machado
Oi suelen,
Bom tem dois metodos quando passar os dados, um é adicionar as barras ou
retirar as barras da outra data.
vou colocar aqui o metodo para a primeira opção que é melhor na minha opnião.
string dataBanco = "21082008";
string dataLocal = "30/11/2008";
DateTime date1 = new DateTime();
DateTime date2 = new DateTime();
TimeSpan dateTime;
dataBanco = dataBanco.Insert(2, "/").Insert(5, "/");
date1 = DateTime.Parse(dataLocal);
date2 = DateTime.Parse(dataBanco);
dateTime = date1 - date2;
label.Text = dateTime.Days + " Dias";
outra coisa suelen talvez tenha que colocar o using System.Globalization; em
cima do código para poder fazer pegar o cultureinfo.
qualquer duvida estarei a disposicao.
Post by Suelen
Marcos, estou usando o VS 2008 e não tem esta propriedade CultureInfo..
porem eu preciso de ajuda mais urgente em uma outra coisa se puder me ajudar
por favor..
é com data...
é assim, eu preciso fazer uma comparação da data atual do servidor com uma
data que tenho definida no banco de dados que seria uma data prevista, so que
a data prevista no banco de dados esta cadastrada para aparecer assim
21082008, sem barra nada..
como eu posso fazer para comparar essas datas e saber quantos Dias há de
diferença..
agradeço muito se puder me ajudar...
Post by Marcos Machado
Ola suellen,
eu acho que tem a ver com a cultura do programa.
faça o seguinte
CultureInfo ci = new CultureInfo("pt-BR");
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss", ci);
acho que irá resolver, sistema estiver com a cultura pt-BR vai ficar com a
mesma hora dele.
Post by Suelen
Mais onde eu posso achar esta configuração?
obrigada.
Obs: a hora que fica logo em cima no emulador esta correta com a do sistema,
so a que aparece com a label que esta uma hora a mais, os minutos e segundos
estao corretos tbm.
Post by Marcos Machado
Olá Suelen,
a configuração de data e hora que ele está pegando do sistema talvez esteja
errada,
veja a configuração de regionalização.
Post by Suelen
Olá, estou com um problema, quero exibir a hora do sistema de um mobile,
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
porém ele nao esta pegando a hora exata, esta sempre uma hora adiantado...
o que há de errado?
Marcos Machado
2008-09-23 13:30:13 UTC
Permalink
Olá suelen,

Só consegui isso forçando a barra, olha como ficou:

dif2 = dif.Subtract(TimeSpan.Parse("70"));

peguei, transformei o numero em string colocando ele dentro de "", depois só
convertir a string em TimeSpan, e realizei a subtração usando o metodo
Subtract.

qualquer outra duvida, respondei em breve
Post by Suelen
Bom dia Marcos,
o codigo que me passou
int number;
number = Convert.ToInt32(dif.Days)-70;
deu super certo, porem eu preciso mando a subtração de dif.Days-70 para a
variavel dif2 que tem é TimeSpan e ai ela nao esta aceitando, pede para
converter int para TimeSpan, preciso que fique na dif2 pois abaixo deste if
que verifica se é maior que 70 vai ter um if que verifica se dif2 é maior que
10 dias
os messagebox nao ficarao, eu estava usando apenas para saber se o valor da
conta estava correto
if (dif.Days >= 70)
{
//int number;
//number = Convert.ToInt32(dif.Days) - 70;
//MessageBox.Show(dif.Days.ToString());
dif2 = dif.Days - 70;
}
else
{
dif2 = dif.Days;
//MessageBox.Show(dif2.Days.ToString());//MessageBox.Show(result.Days.ToString());
}
if (dif2.Days >= 10)
{
result = "D"; // Mensagem e bloqueia
}
else
{
result = "S"; // Mensagem
}
}
Obrigada... esta me ajudando muito =}
Post by Marcos Machado
olá suelen,
está ficando bom o código,
quanto ao subtrair o 70 nós podemos fazer uma converção para efetuar o
código, já que o numero tem uqe ser inteiro para tal.
int number;
number = Convert.ToInt32(dif.Days)-70;
quando for escrever
MessageBox.Show((dif.Days - 70) + " Texto");
// não precisa de conversão em nenhum dos dois casos, suelen, é implicito
falar que pode assumir inteiro, ou em string, uma vantagem de usar o timespan.
Qualquer coisa é só chamar, se quiser aqui está o meu e-mail para troca
Post by Suelen
Marcos eu lhe agradeço muito, não consegui exatamente da forma que me
mostrou, mais se nao tivesse me falado do CultureInfo nao teria dado certo
nunca... veja como esta ficando
String data1, data2;
CultureInfo ci = new CultureInfo("pt-BR");
data1 =
reader.GetString(reader.GetOrdinal("dta_prev_ccn"));
data1 = data1.Insert(2, "/").Insert(5, "/");
data2 = DateTime.Now.ToString("dd/MM/yyyy",ci);
DateTime dt1 = Convert.ToDateTime(data1, ci);
DateTime dt2 = Convert.ToDateTime(data2, ci);
TimeSpan dif, dif2;
//Int16 dif2;
if (Convert.ToDateTime(data2, ci) <
Convert.ToDateTime(data1, ci))
{
dif = dt2.Subtract(dt1);
if (dif.Days >= 70)
{
//MessageBox.Show(dif.Days.ToString());
//dif2 = dif.Days-70;
}
else
{
MessageBox.Show(dif.ToString());
}
//MessageBox.Show(result.Days.ToString());
}
else
{
//Caso contrário
}
se puder me ajudar mais uma vez, eu so nao estou conseguindo subtrair 70
dias logo ali em cima onde coloquei
//dif2 = dif.Days-70;
grata!
Post by Marcos Machado
Oi suelen,
Bom tem dois metodos quando passar os dados, um é adicionar as barras ou
retirar as barras da outra data.
vou colocar aqui o metodo para a primeira opção que é melhor na minha opnião.
string dataBanco = "21082008";
string dataLocal = "30/11/2008";
DateTime date1 = new DateTime();
DateTime date2 = new DateTime();
TimeSpan dateTime;
dataBanco = dataBanco.Insert(2, "/").Insert(5, "/");
date1 = DateTime.Parse(dataLocal);
date2 = DateTime.Parse(dataBanco);
dateTime = date1 - date2;
label.Text = dateTime.Days + " Dias";
outra coisa suelen talvez tenha que colocar o using System.Globalization; em
cima do código para poder fazer pegar o cultureinfo.
qualquer duvida estarei a disposicao.
Post by Suelen
Marcos, estou usando o VS 2008 e não tem esta propriedade CultureInfo..
porem eu preciso de ajuda mais urgente em uma outra coisa se puder me ajudar
por favor..
é com data...
é assim, eu preciso fazer uma comparação da data atual do servidor com uma
data que tenho definida no banco de dados que seria uma data prevista, so que
a data prevista no banco de dados esta cadastrada para aparecer assim
21082008, sem barra nada..
como eu posso fazer para comparar essas datas e saber quantos Dias há de
diferença..
agradeço muito se puder me ajudar...
Post by Marcos Machado
Ola suellen,
eu acho que tem a ver com a cultura do programa.
faça o seguinte
CultureInfo ci = new CultureInfo("pt-BR");
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss", ci);
acho que irá resolver, sistema estiver com a cultura pt-BR vai ficar com a
mesma hora dele.
Post by Suelen
Mais onde eu posso achar esta configuração?
obrigada.
Obs: a hora que fica logo em cima no emulador esta correta com a do sistema,
so a que aparece com a label que esta uma hora a mais, os minutos e segundos
estao corretos tbm.
Post by Marcos Machado
Olá Suelen,
a configuração de data e hora que ele está pegando do sistema talvez esteja
errada,
veja a configuração de regionalização.
Post by Suelen
Olá, estou com um problema, quero exibir a hora do sistema de um mobile,
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
porém ele nao esta pegando a hora exata, esta sempre uma hora adiantado...
o que há de errado?
Suelen
2008-09-23 14:33:01 UTC
Permalink
Marcos agradeço muito, deu super certo desta maneira e consegui terminar a
verificação das datas..

antes de responder eu estava fazendo assim
number = Convert.ToInt32(dif.Days) - 70;
dif2 = TimeSpan.Parse(number.ToString());

peguei a forma que tinha dito antes mais irei usar esta ultima mesmo por ser
menor ... veja como esta..

agradeço muito e provavelmente logo surjo com mais duvidas...


String data1, data2;
CultureInfo ci = new CultureInfo("pt-BR");
data1 =
reader.GetString(reader.GetOrdinal("dta_prev_ccn"));
data1 = data1.Insert(2, "/").Insert(5, "/");

data2 = DateTime.Now.ToString("01/05/2008",ci);

DateTime dt1 = Convert.ToDateTime(data1, ci);
DateTime dt2 = Convert.ToDateTime(data2, ci);

TimeSpan dif, dif2;

if (Convert.ToDateTime(data2, ci) <
Convert.ToDateTime(data1, ci))
{
dif = dt2.Subtract(dt1);
int number;

number = Convert.ToInt32(dif.Days);
number = Math.Abs(number);
dif = TimeSpan.Parse(number.ToString());

if (dif.Days >= 70)
{
dif2 = dif.Subtract(TimeSpan.Parse("70"));
}
else
{
dif2 = TimeSpan.Parse(dif.Days.ToString());
}

if (dif2.Days >= 10)
{
result = "D"; // Mensagem e bloqueia
}
else
{
result = "S"; // Mensagem
}
}
else
{
result = "N"; // Não é menor
}

}

Bjus e ate logo.
Post by Marcos Machado
Olá suelen,
dif2 = dif.Subtract(TimeSpan.Parse("70"));
peguei, transformei o numero em string colocando ele dentro de "", depois só
convertir a string em TimeSpan, e realizei a subtração usando o metodo
Subtract.
qualquer outra duvida, respondei em breve
Post by Suelen
Bom dia Marcos,
o codigo que me passou
int number;
number = Convert.ToInt32(dif.Days)-70;
deu super certo, porem eu preciso mando a subtração de dif.Days-70 para a
variavel dif2 que tem é TimeSpan e ai ela nao esta aceitando, pede para
converter int para TimeSpan, preciso que fique na dif2 pois abaixo deste if
que verifica se é maior que 70 vai ter um if que verifica se dif2 é maior que
10 dias
os messagebox nao ficarao, eu estava usando apenas para saber se o valor da
conta estava correto
if (dif.Days >= 70)
{
//int number;
//number = Convert.ToInt32(dif.Days) - 70;
//MessageBox.Show(dif.Days.ToString());
dif2 = dif.Days - 70;
}
else
{
dif2 = dif.Days;
//MessageBox.Show(dif2.Days.ToString());//MessageBox.Show(result.Days.ToString());
}
if (dif2.Days >= 10)
{
result = "D"; // Mensagem e bloqueia
}
else
{
result = "S"; // Mensagem
}
}
Obrigada... esta me ajudando muito =}
Post by Marcos Machado
olá suelen,
está ficando bom o código,
quanto ao subtrair o 70 nós podemos fazer uma converção para efetuar o
código, já que o numero tem uqe ser inteiro para tal.
int number;
number = Convert.ToInt32(dif.Days)-70;
quando for escrever
MessageBox.Show((dif.Days - 70) + " Texto");
// não precisa de conversão em nenhum dos dois casos, suelen, é implicito
falar que pode assumir inteiro, ou em string, uma vantagem de usar o timespan.
Qualquer coisa é só chamar, se quiser aqui está o meu e-mail para troca
Post by Suelen
Marcos eu lhe agradeço muito, não consegui exatamente da forma que me
mostrou, mais se nao tivesse me falado do CultureInfo nao teria dado certo
nunca... veja como esta ficando
String data1, data2;
CultureInfo ci = new CultureInfo("pt-BR");
data1 =
reader.GetString(reader.GetOrdinal("dta_prev_ccn"));
data1 = data1.Insert(2, "/").Insert(5, "/");
data2 = DateTime.Now.ToString("dd/MM/yyyy",ci);
DateTime dt1 = Convert.ToDateTime(data1, ci);
DateTime dt2 = Convert.ToDateTime(data2, ci);
TimeSpan dif, dif2;
//Int16 dif2;
if (Convert.ToDateTime(data2, ci) <
Convert.ToDateTime(data1, ci))
{
dif = dt2.Subtract(dt1);
if (dif.Days >= 70)
{
//MessageBox.Show(dif.Days.ToString());
//dif2 = dif.Days-70;
}
else
{
MessageBox.Show(dif.ToString());
}
//MessageBox.Show(result.Days.ToString());
}
else
{
//Caso contrário
}
se puder me ajudar mais uma vez, eu so nao estou conseguindo subtrair 70
dias logo ali em cima onde coloquei
//dif2 = dif.Days-70;
grata!
Post by Marcos Machado
Oi suelen,
Bom tem dois metodos quando passar os dados, um é adicionar as barras ou
retirar as barras da outra data.
vou colocar aqui o metodo para a primeira opção que é melhor na minha opnião.
string dataBanco = "21082008";
string dataLocal = "30/11/2008";
DateTime date1 = new DateTime();
DateTime date2 = new DateTime();
TimeSpan dateTime;
dataBanco = dataBanco.Insert(2, "/").Insert(5, "/");
date1 = DateTime.Parse(dataLocal);
date2 = DateTime.Parse(dataBanco);
dateTime = date1 - date2;
label.Text = dateTime.Days + " Dias";
outra coisa suelen talvez tenha que colocar o using System.Globalization; em
cima do código para poder fazer pegar o cultureinfo.
qualquer duvida estarei a disposicao.
Post by Suelen
Marcos, estou usando o VS 2008 e não tem esta propriedade CultureInfo..
porem eu preciso de ajuda mais urgente em uma outra coisa se puder me ajudar
por favor..
é com data...
é assim, eu preciso fazer uma comparação da data atual do servidor com uma
data que tenho definida no banco de dados que seria uma data prevista, so que
a data prevista no banco de dados esta cadastrada para aparecer assim
21082008, sem barra nada..
como eu posso fazer para comparar essas datas e saber quantos Dias há de
diferença..
agradeço muito se puder me ajudar...
Post by Marcos Machado
Ola suellen,
eu acho que tem a ver com a cultura do programa.
faça o seguinte
CultureInfo ci = new CultureInfo("pt-BR");
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss", ci);
acho que irá resolver, sistema estiver com a cultura pt-BR vai ficar com a
mesma hora dele.
Post by Suelen
Mais onde eu posso achar esta configuração?
obrigada.
Obs: a hora que fica logo em cima no emulador esta correta com a do sistema,
so a que aparece com a label que esta uma hora a mais, os minutos e segundos
estao corretos tbm.
Post by Marcos Machado
Olá Suelen,
a configuração de data e hora que ele está pegando do sistema talvez esteja
errada,
veja a configuração de regionalização.
Post by Suelen
Olá, estou com um problema, quero exibir a hora do sistema de um mobile,
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
porém ele nao esta pegando a hora exata, esta sempre uma hora adiantado...
o que há de errado?
Marcos Machado
2008-09-23 17:26:02 UTC
Permalink
de nada suelen ^^
beijos
Post by Suelen
Marcos agradeço muito, deu super certo desta maneira e consegui terminar a
verificação das datas..
antes de responder eu estava fazendo assim
number = Convert.ToInt32(dif.Days) - 70;
dif2 = TimeSpan.Parse(number.ToString());
peguei a forma que tinha dito antes mais irei usar esta ultima mesmo por ser
menor ... veja como esta..
agradeço muito e provavelmente logo surjo com mais duvidas...
String data1, data2;
CultureInfo ci = new CultureInfo("pt-BR");
data1 =
reader.GetString(reader.GetOrdinal("dta_prev_ccn"));
data1 = data1.Insert(2, "/").Insert(5, "/");
data2 = DateTime.Now.ToString("01/05/2008",ci);
DateTime dt1 = Convert.ToDateTime(data1, ci);
DateTime dt2 = Convert.ToDateTime(data2, ci);
TimeSpan dif, dif2;
if (Convert.ToDateTime(data2, ci) <
Convert.ToDateTime(data1, ci))
{
dif = dt2.Subtract(dt1);
int number;
number = Convert.ToInt32(dif.Days);
number = Math.Abs(number);
dif = TimeSpan.Parse(number.ToString());
if (dif.Days >= 70)
{
dif2 = dif.Subtract(TimeSpan.Parse("70"));
}
else
{
dif2 = TimeSpan.Parse(dif.Days.ToString());
}
if (dif2.Days >= 10)
{
result = "D"; // Mensagem e bloqueia
}
else
{
result = "S"; // Mensagem
}
}
else
{
result = "N"; // Não é menor
}
}
Bjus e ate logo.
Post by Marcos Machado
Olá suelen,
dif2 = dif.Subtract(TimeSpan.Parse("70"));
peguei, transformei o numero em string colocando ele dentro de "", depois só
convertir a string em TimeSpan, e realizei a subtração usando o metodo
Subtract.
qualquer outra duvida, respondei em breve
Post by Suelen
Bom dia Marcos,
o codigo que me passou
int number;
number = Convert.ToInt32(dif.Days)-70;
deu super certo, porem eu preciso mando a subtração de dif.Days-70 para a
variavel dif2 que tem é TimeSpan e ai ela nao esta aceitando, pede para
converter int para TimeSpan, preciso que fique na dif2 pois abaixo deste if
que verifica se é maior que 70 vai ter um if que verifica se dif2 é maior que
10 dias
os messagebox nao ficarao, eu estava usando apenas para saber se o valor da
conta estava correto
if (dif.Days >= 70)
{
//int number;
//number = Convert.ToInt32(dif.Days) - 70;
//MessageBox.Show(dif.Days.ToString());
dif2 = dif.Days - 70;
}
else
{
dif2 = dif.Days;
//MessageBox.Show(dif2.Days.ToString());//MessageBox.Show(result.Days.ToString());
}
if (dif2.Days >= 10)
{
result = "D"; // Mensagem e bloqueia
}
else
{
result = "S"; // Mensagem
}
}
Obrigada... esta me ajudando muito =}
Post by Marcos Machado
olá suelen,
está ficando bom o código,
quanto ao subtrair o 70 nós podemos fazer uma converção para efetuar o
código, já que o numero tem uqe ser inteiro para tal.
int number;
number = Convert.ToInt32(dif.Days)-70;
quando for escrever
MessageBox.Show((dif.Days - 70) + " Texto");
// não precisa de conversão em nenhum dos dois casos, suelen, é implicito
falar que pode assumir inteiro, ou em string, uma vantagem de usar o timespan.
Qualquer coisa é só chamar, se quiser aqui está o meu e-mail para troca
Post by Suelen
Marcos eu lhe agradeço muito, não consegui exatamente da forma que me
mostrou, mais se nao tivesse me falado do CultureInfo nao teria dado certo
nunca... veja como esta ficando
String data1, data2;
CultureInfo ci = new CultureInfo("pt-BR");
data1 =
reader.GetString(reader.GetOrdinal("dta_prev_ccn"));
data1 = data1.Insert(2, "/").Insert(5, "/");
data2 = DateTime.Now.ToString("dd/MM/yyyy",ci);
DateTime dt1 = Convert.ToDateTime(data1, ci);
DateTime dt2 = Convert.ToDateTime(data2, ci);
TimeSpan dif, dif2;
//Int16 dif2;
if (Convert.ToDateTime(data2, ci) <
Convert.ToDateTime(data1, ci))
{
dif = dt2.Subtract(dt1);
if (dif.Days >= 70)
{
//MessageBox.Show(dif.Days.ToString());
//dif2 = dif.Days-70;
}
else
{
MessageBox.Show(dif.ToString());
}
//MessageBox.Show(result.Days.ToString());
}
else
{
//Caso contrário
}
se puder me ajudar mais uma vez, eu so nao estou conseguindo subtrair 70
dias logo ali em cima onde coloquei
//dif2 = dif.Days-70;
grata!
Post by Marcos Machado
Oi suelen,
Bom tem dois metodos quando passar os dados, um é adicionar as barras ou
retirar as barras da outra data.
vou colocar aqui o metodo para a primeira opção que é melhor na minha opnião.
string dataBanco = "21082008";
string dataLocal = "30/11/2008";
DateTime date1 = new DateTime();
DateTime date2 = new DateTime();
TimeSpan dateTime;
dataBanco = dataBanco.Insert(2, "/").Insert(5, "/");
date1 = DateTime.Parse(dataLocal);
date2 = DateTime.Parse(dataBanco);
dateTime = date1 - date2;
label.Text = dateTime.Days + " Dias";
outra coisa suelen talvez tenha que colocar o using System.Globalization; em
cima do código para poder fazer pegar o cultureinfo.
qualquer duvida estarei a disposicao.
Post by Suelen
Marcos, estou usando o VS 2008 e não tem esta propriedade CultureInfo..
porem eu preciso de ajuda mais urgente em uma outra coisa se puder me ajudar
por favor..
é com data...
é assim, eu preciso fazer uma comparação da data atual do servidor com uma
data que tenho definida no banco de dados que seria uma data prevista, so que
a data prevista no banco de dados esta cadastrada para aparecer assim
21082008, sem barra nada..
como eu posso fazer para comparar essas datas e saber quantos Dias há de
diferença..
agradeço muito se puder me ajudar...
Post by Marcos Machado
Ola suellen,
eu acho que tem a ver com a cultura do programa.
faça o seguinte
CultureInfo ci = new CultureInfo("pt-BR");
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss", ci);
acho que irá resolver, sistema estiver com a cultura pt-BR vai ficar com a
mesma hora dele.
Post by Suelen
Mais onde eu posso achar esta configuração?
obrigada.
Obs: a hora que fica logo em cima no emulador esta correta com a do sistema,
so a que aparece com a label que esta uma hora a mais, os minutos e segundos
estao corretos tbm.
Post by Marcos Machado
Olá Suelen,
a configuração de data e hora que ele está pegando do sistema talvez esteja
errada,
veja a configuração de regionalização.
Post by Suelen
Olá, estou com um problema, quero exibir a hora do sistema de um mobile,
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
porém ele nao esta pegando a hora exata, esta sempre uma hora adiantado...
o que há de errado?
JP Negri
2008-10-31 16:20:18 UTC
Permalink
Olás,

Sei que a discussão ficou velha, mas dado o que li, resolvi dar meu
"pitaco".

1) Não fiquem manipulando strings desnecessáriamente (inserir barras?)
2) Usem DateTime.TryParseExact com a cultura invariante, é muito mais
robusto.
3) Para quê fazer cast de TimeSpan se existe a propriedade TotalDays? Não é
mais facil testa-la diretamente?

[]´s JP
Post by Marcos Machado
de nada suelen ^
beijos
Post by Suelen
Marcos agradeço muito, deu super certo desta maneira e consegui terminar a
verificação das datas..
antes de responder eu estava fazendo assim
number = Convert.ToInt32(dif.Days) - 70;
dif2 = TimeSpan.Parse(number.ToString());
peguei a forma que tinha dito antes mais irei usar esta ultima mesmo por ser
menor ... veja como esta..
agradeço muito e provavelmente logo surjo com mais duvidas...
String data1, data2;
CultureInfo ci = new CultureInfo("pt-BR");
data1 =
reader.GetString(reader.GetOrdinal("dta_prev_ccn"));
data1 = data1.Insert(2, "/").Insert(5, "/");
data2 = DateTime.Now.ToString("01/05/2008",ci);
DateTime dt1 = Convert.ToDateTime(data1, ci);
DateTime dt2 = Convert.ToDateTime(data2, ci);
TimeSpan dif, dif2;
if (Convert.ToDateTime(data2, ci) <
Convert.ToDateTime(data1, ci))
{
dif = dt2.Subtract(dt1);
int number;
number = Convert.ToInt32(dif.Days);
number = Math.Abs(number);
dif = TimeSpan.Parse(number.ToString());
if (dif.Days >= 70)
{
dif2 = dif.Subtract(TimeSpan.Parse("70"));
}
else
{
dif2 = TimeSpan.Parse(dif.Days.ToString());
}
if (dif2.Days >= 10)
{
result = "D"; // Mensagem e bloqueia
}
else
{
result = "S"; // Mensagem
}
}
else
{
result = "N"; // Não é menor
}
}
Bjus e ate logo.
Post by Marcos Machado
Olá suelen,
dif2 = dif.Subtract(TimeSpan.Parse("70"));
peguei, transformei o numero em string colocando ele dentro de "", depois só
convertir a string em TimeSpan, e realizei a subtração usando o metodo
Subtract.
qualquer outra duvida, respondei em breve
Post by Suelen
Bom dia Marcos,
o codigo que me passou
int number;
number = Convert.ToInt32(dif.Days)-70;
deu super certo, porem eu preciso mando a subtração de dif.Days-70 para a
variavel dif2 que tem é TimeSpan e ai ela nao esta aceitando, pede para
converter int para TimeSpan, preciso que fique na dif2 pois abaixo deste if
que verifica se é maior que 70 vai ter um if que verifica se dif2 é maior que
10 dias
os messagebox nao ficarao, eu estava usando apenas para saber se o valor da
conta estava correto
if (dif.Days >= 70)
{
//int number;
//number = Convert.ToInt32(dif.Days) - 70;
//MessageBox.Show(dif.Days.ToString());
dif2 = dif.Days - 70;
}
else
{
dif2 = dif.Days;
//MessageBox.Show(dif2.Days.ToString());//MessageBox.Show(result.Days.ToString());
}
if (dif2.Days >= 10)
{
result = "D"; // Mensagem e bloqueia
}
else
{
result = "S"; // Mensagem
}
}
Obrigada... esta me ajudando muito =}
Post by Marcos Machado
olá suelen,
está ficando bom o código,
quanto ao subtrair o 70 nós podemos fazer uma converção para efetuar o
código, já que o numero tem uqe ser inteiro para tal.
int number;
number = Convert.ToInt32(dif.Days)-70;
quando for escrever
MessageBox.Show((dif.Days - 70) + " Texto");
// não precisa de conversão em nenhum dos dois casos, suelen, é implicito
falar que pode assumir inteiro, ou em string, uma vantagem de usar
o timespan.
Qualquer coisa é só chamar, se quiser aqui está o meu e-mail para troca
Post by Suelen
Marcos eu lhe agradeço muito, não consegui exatamente da forma que me
mostrou, mais se nao tivesse me falado do CultureInfo nao teria
dado certo
nunca... veja como esta ficando
String data1, data2;
CultureInfo ci = new CultureInfo("pt-BR");
data1 =
reader.GetString(reader.GetOrdinal("dta_prev_ccn"));
data1 = data1.Insert(2, "/").Insert(5, "/");
data2 =
DateTime.Now.ToString("dd/MM/yyyy",ci);
DateTime dt1 = Convert.ToDateTime(data1, ci);
DateTime dt2 = Convert.ToDateTime(data2, ci);
TimeSpan dif, dif2;
//Int16 dif2;
if (Convert.ToDateTime(data2, ci) <
Convert.ToDateTime(data1, ci))
{
dif = dt2.Subtract(dt1);
if (dif.Days >= 70)
{
//MessageBox.Show(dif.Days.ToString());
//dif2 = dif.Days-70;
}
else
{
MessageBox.Show(dif.ToString());
}
//MessageBox.Show(result.Days.ToString());
}
else
{
//Caso contrário
}
se puder me ajudar mais uma vez, eu so nao estou conseguindo subtrair 70
dias logo ali em cima onde coloquei
//dif2 = dif.Days-70;
grata!
Post by Marcos Machado
Oi suelen,
Bom tem dois metodos quando passar os dados, um é adicionar as
barras ou
retirar as barras da outra data.
vou colocar aqui o metodo para a primeira opção que é melhor na
minha opnião.
string dataBanco = "21082008";
string dataLocal = "30/11/2008";
DateTime date1 = new DateTime();
DateTime date2 = new DateTime();
TimeSpan dateTime;
dataBanco = dataBanco.Insert(2, "/").Insert(5, "/");
date1 = DateTime.Parse(dataLocal);
date2 = DateTime.Parse(dataBanco);
dateTime = date1 - date2;
label.Text = dateTime.Days + " Dias";
outra coisa suelen talvez tenha que colocar o using
System.Globalization; em
cima do código para poder fazer pegar o cultureinfo.
qualquer duvida estarei a disposicao.
Post by Suelen
Marcos, estou usando o VS 2008 e não tem esta propriedade
CultureInfo..
porem eu preciso de ajuda mais urgente em uma outra coisa se
puder me ajudar
por favor..
é com data...
é assim, eu preciso fazer uma comparação da data atual do
servidor com uma
data que tenho definida no banco de dados que seria uma data
prevista, so que
a data prevista no banco de dados esta cadastrada para
aparecer assim
21082008, sem barra nada..
como eu posso fazer para comparar essas datas e saber quantos
Dias há de
diferença..
agradeço muito se puder me ajudar...
Post by Marcos Machado
Ola suellen,
eu acho que tem a ver com a cultura do programa.
faça o seguinte
CultureInfo ci = new CultureInfo("pt-BR");
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss",
ci);
acho que irá resolver, sistema estiver com a cultura pt-BR
vai ficar com a
mesma hora dele.
Post by Suelen
Mais onde eu posso achar esta configuração?
obrigada.
Obs: a hora que fica logo em cima no emulador esta
correta com a do sistema,
so a que aparece com a label que esta uma hora a mais, os
minutos e segundos
estao corretos tbm.
Post by Marcos Machado
Olá Suelen,
a configuração de data e hora que ele está pegando do
sistema talvez esteja
errada,
veja a configuração de regionalização.
Post by Suelen
Olá, estou com um problema, quero exibir a hora do
sistema de um mobile,
label13.Text = DateTime.Now.ToString("dd/MM/yyyy
HH:mm:ss");
porém ele nao esta pegando a hora exata, esta sempre
uma hora adiantado...
o que há de errado?
Marcio
2008-12-02 20:49:03 UTC
Permalink
Olá Suelen você já viu se está em horário de verão o seu computador?
Post by Suelen
Olá, estou com um problema, quero exibir a hora do sistema de um mobile,
label13.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
porém ele nao esta pegando a hora exata, esta sempre uma hora adiantado...
o que há de errado?
Loading...