たとえば、C#には次の定数があります。
System.Globalization.DateTimeFormatInfo.InvariantInfo.SortableDateTimePattern
次の値があります。
"yyyy'-'MM'-'dd'T'HH':'mm':'ss"
私はそれをParseExact関数で使用し、その後も機能yyyy-MM-ddTHH:mm:ssします。
一重引用符の目的がわかりません。
たとえば、C#には次の定数があります。
System.Globalization.DateTimeFormatInfo.InvariantInfo.SortableDateTimePattern
次の値があります。
"yyyy'-'MM'-'dd'T'HH':'mm':'ss"
私はそれをParseExact関数で使用し、その後も機能yyyy-MM-ddTHH:mm:ssします。
一重引用符の目的がわかりません。
回答:
これはリテラル文字列区切り文字です。
一重引用符で囲まれたものはすべてリテラル文字として解釈され、カスタムフォーマット文字列として解釈されません。
これらは、バックスラッシュを使用してエスケープすることに相当します。はとdd'T'HH同じdd\THHです。
string yyyy'-'MM'-'dd'T'HH':'mm':'ssでは、-andを囲む引用符は不要Tです。これらはカスタム形式の文字列ではないため、常に文字列リテラルとして解釈されます。ただし、現在のカルチャに適した時間区切り文字として評価される: 形式指定子です。これを引用すると、現在の文化に関係なく':'、リテラル文字:が常に使用されることになります。
これがWindowsのGetDateFormat関数で使用される形式と同じであることを知っておくと便利です。アポストロフィを使用して、結果の文字列に挿入するリテラルを示します。
文字列フォーマットコードの詳細については、以下を参照してください。
文字列では、文字どおりハイフン、コロン、およびT文字を追加する必要があることを示しています。
yyyy
'-'MM'-'dd'T'HH':'mm':'ss
一般に、文字通りハイフン(-)またはコロン(:)、またはスラッシュ(/)を使用して日付/時刻を作成することは望ましくありません。スラッシュとコロンを使用して日付/時刻を構築しない文化では、これらは間違っているからです。
指示したい場合に何をしたいか:
特別な使用です:
そして、次のようなフォーマットを作成します。
dd / yyyy / MM ss:HH:mm
日付を次のように示す必要のあるビジネスニーズがわかりません。
しかし、このようにしてローカライザはカルチャの正しい日付と時刻のセパレータを挿入します。
一方、あなたがあれば文字通りを求め/、-または::
'/'yyyy '/'MM ss ':'HH ':'mmあなたは文字通り得るでしょう:
のではなく:
GetDateFormat。おそらく似ていますが、たとえばの意味yyyyyが異なります。この質問が注目を集め、C#/に関するものであることを考えると、代わりにこのステートメントを修正して.NETドキュメントにリンクすることをお勧めします。