useDates.ts 635 B

1234567891011121314151617181920212223
  1. /** Generate an array of date strings (YYYY-MM-DD) for the last N days. */
  2. export function useDates() {
  3. function formatDate(d: Date): string {
  4. const y = d.getFullYear()
  5. const m = String(d.getMonth() + 1).padStart(2, "0")
  6. const day = String(d.getDate()).padStart(2, "0")
  7. return `${y}-${m}-${day}`
  8. }
  9. function getToday(): string {
  10. return formatDate(new Date())
  11. }
  12. function lastDays(count: number): string[] {
  13. return Array.from({ length: count }, (_, i) => {
  14. const d = new Date()
  15. d.setDate(d.getDate() - i)
  16. return formatDate(d)
  17. })
  18. }
  19. return { formatDate, getToday, lastDays }
  20. }