返されるイベントの日付が必要なプログラムに取り組んでいます。私は "DateTime"ではなく "Date"を探しています。日付だけを返すデータ型が必要です...そこにはありますか?日付と日付時刻
日付と日付時刻
答えて
時間の部分が00:00:00であるところでDateTimeを返して無視することができます。日付はタイムスタンプ整数として扱われるので、日付と時刻の両方を整数にとって組み合わせることは理にかなっています。
残念ながら、.Net BCLにはありません。日付は、通常、時刻が深夜に設定されたDateTimeオブジェクトとして表されます。
これは、Dateオブジェクトの場合、タイムゾーンの処理がまったく必要ない場合でも、その周囲にすべての付帯タイムゾーンの問題があることを意味します。
次のいずれかを試みることができます。
Date型は、VB.NETで使用されるDateTime型の単なるエイリアスです(int型と同じように)。これらの両方の型には、時間部分を00:00:00に設定したオブジェクトを返すDateプロパティがあります。
真。 [VB.NET日付型のMSDNドキュメントページ](http://msdn.microsoft.com/en-us/library/3eaydw6e.aspx)のコメント:* .NET Frameworkの対応する型は、[System.DateTime] (http://msdn.microsoft.com/en-us/library/system.datetime.aspx)構造。* – miroxlav
このためには、日付を使用する必要がありますが、時間の値は無視してください。
通常日付DateTime
タイプは、上記のように設定された時間値とDateTime
を返す.Date
性質を有する00:00:00
の時間のDateTimeであろう。
DateTimeオブジェクトには、値の日付部分のみを返すプロパティがあります。
public static void Main()
{
System.DateTime _Now = DateAndTime.Now;
Console.WriteLine("The Date and Time is " + _Now);
//will return the date and time
Console.WriteLine("The Date Only is " + _Now.Date);
//will return only the date
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
この回答は間違っています。 Dateは時刻が0:00:00に設定された 'DateTime'を返します –
ラッパークラスを作成します。このようなもの:
public class Date:IEquatable<Date>,IEquatable<DateTime>
{
public Date(DateTime date)
{
value = date.Date;
}
public bool Equals(Date other)
{
return other != null && value.Equals(other.value);
}
public bool Equals(DateTime other)
{
return value.Equals(other);
}
public override string ToString()
{
return value.ToString();
}
public static implicit operator DateTime(Date date)
{
return date.value;
}
public static explicit operator Date(DateTime dateTime)
{
return new Date(dateTime);
}
private DateTime value;
}
value
のいずれかを公開してください。
暗黙的で明示的なものは間違っていますか? – Behrooz
私はあなたのコンストラクタが[DateTime.Kind](http://msdn.microsoft.com/en-us/library/system.datetime.kind(v = vs.110).aspx)を ' DateTimeKind.Unspecified'を使用して、シリアル化すると変換せずにデシリアライズされます(タイムゾーンの異なる日付に基づいて変更される可能性があります)。 – OffHeGoes
@OffHeGoes DateTime.Kindを 'DateTimeKind.Utc'に設定します。 *「DateTimeKind.Unspecified」に設定しないでください。これは、含まれているタイムゾーンオフセットでシリアル化/逆シリアル化されることを保証するためです。カレンダーの日付はタイムゾーンに関係なく同じですので、システムで調整しないでください。 – Suncat2000
簡単な日付が必要な時には、時間部分、タイムゾーン、ローカルとutcなどを気にせずにシンプルにDate structを作成しました。
Date today = Date.Today;
Date yesterday = Date.Today.AddDays(-1);
Date independenceDay = Date.Parse("2013-07-04");
independenceDay.ToLongString(); // "Thursday, July 4, 2013"
independenceDay.ToShortString(); // "7/4/2013"
independenceDay.ToString(); // "7/4/2013"
independenceDay.ToString("s"); // "2013-07-04"
int july = independenceDay.Month; // 7
ありがとう!それは便利です。 – garfbradaz
何Date
データ型はありません。
ただし、DateTime.Date
を使用すると、日付のみを取得できます。
E.G.
DateTime date = DateTime.Now.Date;
Date構造体があり、オブジェクトはDate型として宣言できます。 –
@KalebAndersonデフォルトの実装では.NETではありません。 VB.net Dateについて話しているのであれば、それはまだDateTimeです。 –
'DateTime.Now.Date'は' DateTime.Today'と同じです。日時の値を世界時(UTC)として返す 'DateTime.UtcNow'がありますが、今日はUTCと同等のメソッドやプロパティはありません。 'DateTimeKind.UtcNow.Date'は適切な式です。 – Suncat2000
public class AsOfdates
{
public string DisplayDate { get; set; }
private DateTime TheDate;
public DateTime DateValue
{
get
{
return TheDate.Date;
}
set
{
TheDate = value;
}
}
}
あなたの答えにいくつかの説明をすることは役に立ちます。 – Guanxi
- 1. iphoneの日付と時刻
- 2. カスタムデータ型 - 日付と時刻
- 3. jQueryの日付と時刻
- 4. 日付と日付をSQLの日付と時刻に変換する
- 5. jsfの日付+時刻ピッカー
- 6. バッシュ日付/時刻算術
- 7. 日付時刻発行
- 8. 時刻なしの日付
- 9. 比較日付時刻
- 10. 変換スタンプ/日付時刻
- 11. Android - ネットワーク日付/時刻
- 12. ASP.NETの日付時刻ピッカー
- 13. Spring 3.2日付時刻フォーマット
- 14. Android:日付/時刻確認
- 15. タイムゾーンの日付時刻
- 16. パンテイオスログファイル名の日付/時刻
- 17. VB.NETの日付時刻エラー
- 18. DataGridViewの日付時刻ピッカー
- 19. SQLサーバーの日付時刻
- 20. Flotr x軸日付/時刻
- 21. Informatica日付/時刻変換
- 22. のMySQL - 日付/時刻
- 23. 日付と時刻の日付のみを抽出します
- 24. 日付と時刻のあるDojo DataGrid
- 25. MySQL検索日付と時刻の間
- 26. 日付と時刻でリストをソート
- 27. Silverlightの日付と時刻のピッカーコントロール
- 28. SQLの日付と時刻のデータ型
- 29. Visual C#/ WinForms日付と時刻
- 30. の書式日付と時刻
[日付とDateTime値を使用している場合は、UTCに種類を設定します。対処するタイムゾーン調整はありません。 DateTime date = DateTime.SpecifyKind(DateTime.Today、DateTimeKind、Utc); – Suncat2000
はい、何かのために 'date'を使うことは、あなたのアプリケーションが1つのタイムゾーンでしか動作しないことを100%保証していない限り、悪い考えです。すべてを「datetime」として保存すると、サーバのタイムゾーン設定が変更された場合、タイムゾーンの悪夢を避ける最も簡単な方法、最も批判的な方法など、両方の世界のベストが得られます。 'datetime'はそこであなたを救うことができます。' date'は全くできません。間違ったタイムゾーンコンテキストで 'date'を書き始めるのであれば、修正するのは大変です。 – Kelseydh