const https = require('https') const http = require('http') const testTimeIssueAnalysis = async () => { console.log('šŸ” åˆ†ęžę™‚é–“å•é”Œ') console.log('=' .repeat(50)) try { // ęø¬č©¦ē•¶å‰ę™‚é–“ console.log('\nšŸ“Š ē•¶å‰ę™‚é–“åˆ†ęž:') const now = new Date() const utcTime = now.toISOString() const taiwanTime = now.toLocaleString("zh-TW", { timeZone: "Asia/Taipei" }) console.log(`ē•¶å‰ UTC Ꙃ間: ${utcTime}`) console.log(`ē•¶å‰å°ē£ę™‚é–“: ${taiwanTime}`) // 測試 API ę™‚é–“č½‰ę› console.log('\nšŸ“Š API ę™‚é–“č½‰ę›ęø¬č©¦:') const apiInput = utcTime // å‰ē«Æå‚³å…„ēš„ UTC Ꙃ間 const apiOutput = apiInput.replace('Z', '').replace('T', ' ') // API č½‰ę›å¾Œ console.log(`API č¼øå…„ (å‰ē«Æ): ${apiInput}`) console.log(`API 輸出 (資料庫): ${apiOutput}`) // ęø¬č©¦å‰ē«Æč®€å– console.log('\nšŸ“Š å‰ē«Æč®€å–ęø¬č©¦:') const frontendRead = new Date(apiOutput) const frontendDisplay = frontendRead.toLocaleString("zh-TW", { timeZone: "Asia/Taipei" }) console.log(`å‰ē«Æč®€å–: ${frontendRead.toISOString()}`) console.log(`å‰ē«Æé”Æē¤ŗ: ${frontendDisplay}`) // åˆ†ęžå•é”Œ console.log('\nšŸ“Š å•é”Œåˆ†ęž:') console.log('1. å‰ē«Æå‚³å…„: UTC Ꙃ間 (2025-09-29T09:34:08.000Z)') console.log('2. API č½‰ę›: 移除 Z 和 T (2025-09-29 09:34:08.000)') console.log('3. č³‡ę–™åŗ«å„²å­˜: ē•¶ä½œęœ¬åœ°ę™‚é–“å„²å­˜') console.log('4. å‰ē«Æč®€å–: ē•¶ä½œęœ¬åœ°ę™‚é–“č§£ęžļ¼Œē„¶å¾Œč½‰ę›ē‚ŗå°ē£ę™‚é–“') console.log('\nšŸ“ å•é”Œę ¹ęŗ:') console.log('- API 將 UTC ę™‚é–“č½‰ę›ē‚ŗęœ¬åœ°ę™‚é–“ę ¼å¼') console.log('- č³‡ę–™åŗ«å°‡å…¶ē•¶ä½œęœ¬åœ°ę™‚é–“å„²å­˜') console.log('- å‰ē«Æč®€å–ę™‚åˆē•¶ä½œęœ¬åœ°ę™‚é–“č§£ęž') console.log('- é€ ęˆę™‚é–“é”Æē¤ŗéŒÆčŖ¤') } catch (error) { console.error('āŒ 測試失敗:', error.message) } finally { console.log('\nāœ… ę™‚é–“å•é”Œåˆ†ęžå®Œęˆ') } } testTimeIssueAnalysis()