Newer
Older
FanFarm / system / V3fanfarm-ubuntu-local / V3fanfarm-frontend / node_modules / .cache / babel-loader / 2f6aa346393d4f92e82e1f78d8684db4151c9a6556eecf6d4d26dc7fb68db5bc.json
@Fanfarm User Fanfarm User on 18 Dec 7 KB add all
{"ast":null,"code":"// src/utils/dateUtils.js\n// FanFarm日付処理ユーティリティ\n/**\n * 様々な形式の日付文字列を解析してDateオブジェクトを返す\n * @param {string} dateStr - 日付文字列\n * @returns {Date|null} - パースされたDateオブジェクト、失敗時はnull\n */export const parseJobDate=dateStr=>{if(!dateStr)return null;// 様々な日付形式に対応\n// \"2025/10/07(火)\", \"2025-10-07\", \"2025年10月7日(火)\" など\n// 括弧内の曜日を削除\nconst cleanDate=dateStr.replace(/\\([月火水木金土日]\\)/g,'');// 日付部分を抽出\nconst patterns=[/(\\d{4})[年\\/\\-](\\d{1,2})[月\\/\\-](\\d{1,2})/,// YYYY年MM月DD or YYYY/MM/DD or YYYY-MM-DD\n/(\\d{4})(\\d{2})(\\d{2})/// YYYYMMDD\n];for(const pattern of patterns){const match=cleanDate.match(pattern);if(match){const year=parseInt(match[1],10);const month=parseInt(match[2],10)-1;// JavaScriptは0ベース\nconst day=parseInt(match[3],10);// 明示的にDateオブジェクトを作成(タイムゾーン問題を回避)\nconst date=new Date(year,month,day);if(!isNaN(date.getTime())){return date;}}}// フォールバック\nconst fallbackDate=new Date(cleanDate);return isNaN(fallbackDate.getTime())?null:fallbackDate;};/**\n * Dateオブジェクトを日本語形式の文字列に変換\n * @param {Date} date - フォーマットするDateオブジェクト\n * @param {Object} options - フォーマットオプション\n * @returns {string} - フォーマットされた日付文字列\n */export const formatJobDate=function(date){let options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(!date||isNaN(date.getTime()))return'日付不明';// ブラウザに依存しない日付フォーマット\nconst year=date.getFullYear();const month=String(date.getMonth()+1).padStart(2,'0');const day=String(date.getDate()).padStart(2,'0');const days=['日','月','火','水','木','金','土'];const dayOfWeek=days[date.getDay()];// フォーマットオプション\nif(options.format==='short'){return\"\".concat(month,\"/\").concat(day);}else if(options.format==='long'){return\"\".concat(year,\"\\u5E74\").concat(month,\"\\u6708\").concat(day,\"\\u65E5(\").concat(dayOfWeek,\")\");}else{// デフォルト形式\nreturn\"\".concat(year,\"/\").concat(month,\"/\").concat(day,\"(\").concat(dayOfWeek,\")\");}};","map":{"version":3,"names":["parseJobDate","dateStr","cleanDate","replace","patterns","pattern","match","year","parseInt","month","day","date","Date","isNaN","getTime","fallbackDate","formatJobDate","options","arguments","length","undefined","getFullYear","String","getMonth","padStart","getDate","days","dayOfWeek","getDay","format","concat"],"sources":["/home/fanfarm/FanFarm/system/V3fanfarm-ubuntu-local/V3fanfarm-frontend/src/utils/dateUtils.js"],"sourcesContent":["// src/utils/dateUtils.js\n// FanFarm日付処理ユーティリティ\n\n/**\n * 様々な形式の日付文字列を解析してDateオブジェクトを返す\n * @param {string} dateStr - 日付文字列\n * @returns {Date|null} - パースされたDateオブジェクト、失敗時はnull\n */\nexport const parseJobDate = (dateStr) => {\n  if (!dateStr) return null;\n  \n  // 様々な日付形式に対応\n  // \"2025/10/07(火)\", \"2025-10-07\", \"2025年10月7日(火)\" など\n  \n  // 括弧内の曜日を削除\n  const cleanDate = dateStr.replace(/\\([月火水木金土日]\\)/g, '');\n  \n  // 日付部分を抽出\n  const patterns = [\n    /(\\d{4})[年\\/\\-](\\d{1,2})[月\\/\\-](\\d{1,2})/,  // YYYY年MM月DD or YYYY/MM/DD or YYYY-MM-DD\n    /(\\d{4})(\\d{2})(\\d{2})/  // YYYYMMDD\n  ];\n  \n  for (const pattern of patterns) {\n    const match = cleanDate.match(pattern);\n    if (match) {\n      const year = parseInt(match[1], 10);\n      const month = parseInt(match[2], 10) - 1; // JavaScriptは0ベース\n      const day = parseInt(match[3], 10);\n      \n      // 明示的にDateオブジェクトを作成(タイムゾーン問題を回避)\n      const date = new Date(year, month, day);\n      \n      if (!isNaN(date.getTime())) {\n        return date;\n      }\n    }\n  }\n  \n  // フォールバック\n  const fallbackDate = new Date(cleanDate);\n  return isNaN(fallbackDate.getTime()) ? null : fallbackDate;\n};\n\n/**\n * Dateオブジェクトを日本語形式の文字列に変換\n * @param {Date} date - フォーマットするDateオブジェクト\n * @param {Object} options - フォーマットオプション\n * @returns {string} - フォーマットされた日付文字列\n */\nexport const formatJobDate = (date, options = {}) => {\n  if (!date || isNaN(date.getTime())) return '日付不明';\n  \n  // ブラウザに依存しない日付フォーマット\n  const year = date.getFullYear();\n  const month = String(date.getMonth() + 1).padStart(2, '0');\n  const day = String(date.getDate()).padStart(2, '0');\n  \n  const days = ['日', '月', '火', '水', '木', '金', '土'];\n  const dayOfWeek = days[date.getDay()];\n  \n  // フォーマットオプション\n  if (options.format === 'short') {\n    return `${month}/${day}`;\n  } else if (options.format === 'long') {\n    return `${year}年${month}月${day}日(${dayOfWeek})`;\n  } else {\n    // デフォルト形式\n    return `${year}/${month}/${day}(${dayOfWeek})`;\n  }\n};\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}