私は複数の言語を持つアプリケーションを持っています。私は、私がブラジルで使用している標準に日付を変換するという問題を抱えています。私はこれを使用しています。タイムスパンが間違った値を返す
DateTime dataCredito = DateTime.Parse(txtDtCredito.Text);
if (Culture == "English (United States)")
{
string dataConvertida = dataCredito.ToString("dd/MM/yyyy");
dataCredito = Convert.ToDateTime(dataConvertida);
}
しかし、私は時間のスパンを計算した後
TimeSpan ts = dataNota - dataCredito;
dataNota
は、2016年9月10日 とdataCredito
は2016年5月10日
それは4日間の違いだが、あるありますtimespanは月が05と09であるように方法を計算しており、その差は米国標準を使用して約123日間です。
タイムスパンを正しく取得するにはどうすればよいですか(この場合は4日間)?
なぜこれを行う必要がありますか? '' 'string dataConvertida = dataCredito.ToString(" dd/MM/yyyy "); dataCredito = Convert.ToDateTime(dataConvertida); '' 'これは意味がありません – tym32167
問題は' TimeSpan'ではなく、 'DateTime'への文字列の解析にあります。 – juharr
あなたのアプリのデフォルトカルチャは何ですか?なぜなら、 'DateTime.Parse'がどのような文化を使うべきかを知らさずに日付を解析しているからです。 –