const splitRoutePath = (routePath: string): string[] => { const routeParts = routePath.split('/').filter((part) => part !== '') const routeArray: string[] = [] let currentRoute = '' for (const part of routeParts) { currentRoute += `/${part}` routeArray.push(currentRoute) } return routeArray } const getMonthName = (monthNumber: number) => { const months = [ 'Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember' ] return months[monthNumber - 1] || '' } const getMonthNameShort = (monthNumber: number) => { const months = [ 'Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Agu', 'Sep', 'Okt', 'Nov', 'Des' ] return months[monthNumber - 1] || '' } const getMonthNumber = (monthName: string) => { const months = [ 'Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember' ] return months.indexOf(monthName) + 1 } const reformatDate = (inputDate: string, originalFormat: string, targetFormat: string): string => { // Parsing tanggal dari format asli const originalDate = parseDate(inputDate, originalFormat) // Format tanggal dalam format yang diinginkan const formattedDate = formatDateToString(originalDate, targetFormat) return formattedDate } const parseDate = (inputDate: string, format: string): Date => { // Pisahkan tanggal, bulan, dan tahun dari input berdasarkan format const parts = inputDate.split(/[^0-9]+/) const formatParts = format.split(/[^a-zA-Z]+/) // Buat objek tanggal baru dengan mengambil nilai dari format yang diberikan const dateValues: any = {} for (let i = 0; i < formatParts.length; i++) { if (formatParts[i]) { dateValues[formatParts[i]] = parseInt(parts[i], 10) } } // Format tanggal dalam format yang diinginkan return new Date(dateValues['yyyy'], dateValues['MM'] - 1, dateValues['dd']) } const formatDateToString = (date: Date, format: string): string => { const day = date.getDate().toString().padStart(2, '0') const month = (date.getMonth() + 1).toString().padStart(2, '0') const year = date.getFullYear().toString() // Ganti placeholder dengan nilai tanggal, bulan, dan tahun return format.replace('yyyy', year).replace('MM', month).replace('dd', day) } export { reformatDate, splitRoutePath, getMonthName, getMonthNameShort, getMonthNumber }