メインコンテンツまでスキップ
Sumo Logic Japanese

parseDate

parseDate operator を使用すると、文字列から日付または時刻を抽出して、タイムスタンプ (ミリ秒) を取得できます。エポック タイムスタンプを判読可能な形式に変換するには、formatDate operator を使用します。

構文

  • parseDate(<strDate>, <dateFormat>)
  • parseDate(<strDate>, <dateFormat>, <timeZone>)

ルール

  • strDatedateFormat パターンと一致する文字で始まる必要があります。たとえば、"other 3/4/2005" ではなく、"3/4/2005 other" のように指定します。
  • dateFormat はパターン文字列 ("MM/dd/yyyy HH:mm:ss a" など) です。サポートされるパターンの完全なリストは Java の simpledateformat ドキュメントにあります。
  • timeZone, を指定しないと、環境設定で設定されているタイム ゾーンが使用されます。timeZone コードのリストについては、https://en.wikipedia.org/wiki/List_of_tz_database_time_zones を参照してください。

  1. 日付が 2019-11-18T19:00:00.000-08:00 の場合、dateFormatyyyy-MM-dd'T'HH:mm:ss.SSSXXX と指定します。例:

    | parseDate(date, "yyyy-MM-dd'T'HH:mm:ss.SSSXXX") as milliseconds

     
  2. 次のようなログ メッセージがあるとします。
instance of Win32_NTLogEvent
{
	EventIdentifier = 100;
	Logfile = "Application";
	RecordNumber = 894528;
	SourceName = "Bonjour Service";
	TimeGenerated = "20170720000030.000000-000";
	TimeWritten = "20170720000030.000000-000";
	Type = "Error";
    ...

次のクエリを実行すると、タイムスタンプ (ミリ秒) として TimeGenerated (この例では 1500534030000) が返されます。

| parse "TimeGenerated = \"*.000000-000" as dd
| parseDate(dd, "yyyyMMddHHmmss") as milliseconds

タイム ゾーンを指定するには:

| parseDate(dd, "yyyyMMddHHmmss", "etc/utc") as milliseconds

 

  • この記事は役に立ちましたか?