日付, 曜日文字列の取得
日付, 曜日文字列の取得 (Date, Get Day of Week String)
任意日付値の曜日を取得します。曜日の表記法はコンフィグにて設定します。たとえば “日,月,火,水,木,金,土” や “定休日,営業日,営業日,営業日,営業日,営業日,定休日” のようにCSV書式にて設定します。先頭は日曜日です。
Configs
  • A: 曜日の書式をCSVセットしてください (例 “日,月,火,水,木,金,土” ) *#{EL}
  • B: 判定対象日付もしくは日時をセットしてください (例 “2022-04-29” ) *#{EL}
  • C: 曜日名が格納される文字列型データ項目を選択してください (更新) *
Script (click to open)
// GraalJS Script (engine type: 2)

//////// START "main()" /////////////////////////////////////////////////////////////////
main();
function main(){ 

const strDayFormat    = configs.get( "StrConfA" );        /// REQUIRED /////////////
  if( strDayFormat  === "" ){
    throw new Error( "\n AutomatedTask ConfigError:" +
                     " Config {A: Day Format} is empty \n" );
  }
const strTarget       = configs.get( "StrConfB" );        /// REQUIRED /////////////
  if( strTarget     === "" ){
    throw new Error( "\n AutomatedTask ConfigError:" +
                     " Config {B: Date or Datetime} is empty \n" );
  }
  let dateTarget      = parseDateAsMidnight( strTarget ); // the first of the date
  engine.log( " AutomatedTask ConfigLog:" +
              " DayOfWeek of " + strTarget + " (Sun=0,Mon=1): " + dateTarget.getDay() );
const strPocketOutput = configs.getObject( "SelectConfC" ); /// REQUIRED ///////////


//// == Data Retrieving / ワークフローデータの参照 ==
// (Nothing. Retrieved via Expression Language in Config Retrieving)


//// == Calculating / 演算 ==
let arrDayFormat = strDayFormat.split(",");
let numDayId = dateTarget.getDay();


//// == Data Updating / ワークフローデータへの代入 ==
engine.setData( strPocketOutput, arrDayFormat[ numDayId ] );


} //////// END "main()" /////////////////////////////////////////////////////////////////


function parseDateAsMidnight( str ) { // Transform date from String to Date
  if( str === "" ){
    throw new Error( "\n AutomatedTask ParseDateError:" +
                     " String is empty \n" );
  }
  var arrNumParts = str.match( /\d+/g );
  if( arrNumParts === null ){
    throw new Error( "\n AutomatedTask ParseDateError:" +
                     " No numeric characters in: " + str + "\n" );
  }
  if( arrNumParts.length < 3){
    throw new Error( "\n AutomatedTask ParseDateError:" +
                     " 3 Parts of numeric characters are needed in: " + str + "\n" );
  }
  return new Date( parseInt(arrNumParts[0], 10), 
                   parseInt(arrNumParts[1], 10) - 1, 
                   parseInt(arrNumParts[2], 10) ); // months are 0-based
  // Note: new Date("2014-11-10") // Mon Nov 10 2014 09:00:00 GMT+0900 (JST)
  // Note: new Date(2014, 10, 10) // Mon Nov 10 2014 00:00:00 GMT+0900 (JST)
}
/*

Notes:
- When the process reaches the automated task, the day of the week of the date data is automatically determined.
    - `YYYY-MM-DD` (date type format), `YYYY/MM/DD`, etc.
    - `YYYY-MM-DD hh:mm` (datetime data format) can also be determined.
- Set the day of the week string in CSV format.
    - `Sun,Mon,Tue,Wed,Thu,Fri,Sat`
    - `Closed,Open,Open,Open,Open,Open,Closed`
    - `Sun.,Mon.,Tue.,Wed.,Thu.,Fri.,Sat.`
    - `(S),(M),(T),(W),(T),(F),(S)`
    - `Sun,Moon,Ares,Hermes,Zeus,Aphrodite,Cronos`
    - `日,月,火,水,木,金,土`
    - `定休日,営業日,営業日,営業日,営業日,営業日,定休日`
    - `(日),(月),(火),(水),(木),(金),(土)`
- Commas cannot be included in the day of the week string.

Notes-ja:
- 案件が自動処理工程に到達した際、日付データの曜日が自動判定されます。
    - `YYYY-MM-DD` (日付型データの書式) や `YYYY/MM/DD` など
    - `YYYY-MM-DD hh:mm` (日時型データの書式) も判定できます。
- 曜日文字列は、CSV書式で設定します。
    - `日,月,火,水,木,金,土`
    - `定休日,営業日,営業日,営業日,営業日,営業日,定休日`
    - `(日),(月),(火),(水),(木),(金),(土)`
    - `Sun,Mon,Tue,Wed,Thu,Fri,Sat`
    - `Closed,Open,Open,Open,Open,Open,Closed`
    - `Sun.,Mon.,Tue.,Wed.,Thu.,Fri.,Sat.`
    - `(S),(M),(T),(W),(T),(F),(S)`
    - `Sun,Moon,Ares,Hermes,Zeus,Aphrodite,Cronos`
- 曜日文字列にカンマは含められません。
*/

Download

2021-10-01 (C) Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/date-get-day-of-week-string-2021/
Addonファイルのインポートは Professional でのみご利用いただけます。
自由改変可能な JavaScript (ECMAScript) コードです。いかなる保証もありません。

Notes

  • 案件が自動処理工程に到達した際、日付データの曜日が自動判定されます。
    • YYYY-MM-DD (日付型データの書式) や YYYY/MM/DD など
    • YYYY-MM-DD hh:mm (日時型データの書式) も判定できます。
  • 曜日文字列は、CSV書式で設定します。
    • 日,月,火,水,木,金,土
    • 定休日,営業日,営業日,営業日,営業日,営業日,定休日
    • (日),(月),(火),(水),(木),(金),(土)
    • Sun,Mon,Tue,Wed,Thu,Fri,Sat
    • Closed,Open,Open,Open,Open,Open,Closed
    • Sun.,Mon.,Tue.,Wed.,Thu.,Fri.,Sat.
    • (S),(M),(T),(W),(T),(F),(S)
    • Sun,Moon,Ares,Hermes,Zeus,Aphrodite,Cronos
  • 曜日文字列にカンマは含められません。

Capture

任意日付値の曜日を取得します。曜日の表記法はコンフィグにて設定します。たとえば "日,月,火,水,木,金,土" や "定休日,営業日,営業日,営業日,営業日,営業日,定休日" のようにCSV書式にて設定します。先頭は日曜日です。
任意日付値の曜日を取得します。曜日の表記法はコンフィグにて設定します。たとえば "日,月,火,水,木,金,土" や "定休日,営業日,営業日,営業日,営業日,営業日,定休日" のようにCSV書式にて設定します。先頭は日曜日です。

See also

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

%d人のブロガーが「いいね」をつけました。