c# - 複数行 - vba シングルクォーテーション エスケープ




C#日付時刻形式内の単一引用符とはどういう意味ですか? (2)

たとえば、C#には次の定数があります。

System.Globalization.DateTimeFormatInfo.InvariantInfo.SortableDateTimePattern

この値は次のとおりです。

"yyyy'-'MM'-'dd'T'HH':'mm':'ss"

ParseExact 関数で使用すると、 yyyy-MM-ddTHH:mm:ss 機能します。

単一引用符が何のためにあるのかわかりません。


これは、Windowsの GetDateFormat 関数で使用される形式と同じであることを知っていると便利です。 アポストロフィを使用して、結果の文字列に挿入するリテラルを示します。

文字列フォーマットコードの詳細なドキュメントは、次の場所にあります。

文字列には、 文字通り ハイフン、コロン、 T 文字を追加 する ことを示しています。

yyyy '-' MM '-' dd 'T' HH ':' mm ':' ss

一般的に、 文字通り ハイフン( - )やコロン(:)、さらにはスラッシュ( / )で日付/時刻を作成することは望ましくありません。 スラッシュとコロンを使用して日付/時刻を作成しないカルチャでは、これらは間違っているためです。

  • 10/22/2019 10∶19∶54ᴀᴍ
        1. 10:19:54
  • 2019.10.22 10:19:54
  • 2019-10-22 10.19.54
  • 2019-10-22 10:19:54
  • 2019-10-22 10:19:54 AM
  • 2019-10-22ཆུ་ཚོད་10:19:54སྔ་ཆ་
  • 2019-10-22오전10:19:54
      1. 2019 10:19:54
        1. 10:19:54
  • 22.10.19 10:19:54
  • 22.10.19ý。 10:19:54
  • 22.10.2019 10.19.54
  • 22.10.2019 10:19:54
  • 22.10.2019 10:19:54 pd
  • 22.10.2019г. 10:19:54
  • 22.10.2019。 10:19:54
  • 22-10-19 10.19.54
  • 22-10-19 10.19.54 AM
  • 22-10-19 10:19:54
  • 22-10-19ਸਵੇਰ10:19:54
  • 22-10-2019 10:19:54
  • 22-10-2019ৰাতিপু10:19:54
  • 22-окт。 19 10:19:54
  • 23/02/41 10:19:54ص
  • 30/07/1398 10:19:54ق.ظ

あなたが示したい場合、あなたがしたいこと:

  • 「ここに日付区切り記号を配置する必要があります」
  • 「ここに時間区切りを配置する必要があります」

特別なものを使用しています:

  • 日付区切り文字の置換文字 (/)
  • 時間区切り文字 (:)

そして、次のような形式を作成します。

dd / yyyy / MM ss:HH:mm

日付を表示する必要があるビジネスの必要性がわからない:

  • 22/2019/10 37:10:24
  • 22-2019-10 37∶10∶24
  • 22 // 2019 // 10 37 :: 10 :: 24
      1. 10 37∶10∶24

ただし、この方法では、ローカライザーはカルチャの正しい日付と時刻の区切り記号を挿入します。

一方、 /- 、または : 文字列で 要求した場合:

  • dd '/' yyyy '/' MM ss ':' HH ':' mm

あなたは文字通りに取得します:

  • 22/2019/10 37:10:24

のではなく:

  • 22-2019-10 37∶10∶24

リテラル文字列の区切り文字 です。

単一引用符で囲まれた部分はすべてリテラル文字として解釈され、カスタム形式の文字列としては解釈されません。

バックスラッシュを使用したエスケープと同等です dd'T'HHdd\THH と同じです。

文字列 yyyy'-'MM'-'dd'T'HH':'mm':'ss では、カスタム形式の文字列ではないため、引用符は - および T 周りに不要であり、常に次のように解釈されます文字列リテラル。 ただし : 、現在のカルチャに適した時間区切り記号に評価される 形式指定子 です。 ':' と引用すると、現在のカルチャに関係なく、リテラル文字 : が常に使用されます。





datetime-format