Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

toIcsDateTime helper for America/New_York

Open Beginner friendly
#788 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
88/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
backend

Research direction

Create src/lib/ics/dateTime.ts and dateTime.test.ts; first read src/lib/domain/section.ts for the Meeting and dateRange fields, then run pnpm test without setting TZ. Implement the helper with date-fns or Intl.DateTimeFormat using the supplied time zone. Done means the acceptance cases pass for local and UTC output, DST Date inputs, and an unknown time zone error.

Written by the indexing model from the issue text.

Description

import-export

What to build

A helper toIcsDateTime(date, tz) for calendar files: given a calendar date ("2026-08-12") plus a "HH:MM" time, or a JS Date, and an IANA time zone, return the iCalendar local date-time form YYYYMMDDTHHMMSS (for use with a TZID= parameter) and, for UTC, the ...Z form. DogDays only ever passes America/New_York, and UGA's term crosses the end of daylight saving time (Nov 1, 2026), so a class at 09:10 must stay at 09:10 local on both sides of it.

Use date-fns (already a dependency) or Intl.DateTimeFormat with timeZone; no new packages.

The file it touches

New src/lib/ics/dateTime.ts and dateTime.test.ts. For the time and weekday fields to format, see src/lib/domain/section.ts (Meeting, dateRange).

Acceptance check (pnpm test only, set no TZ env var; the tests must pass on a machine in any time zone)

  • 2026-08-12 09:10 gives 20260812T091000.
  • The UTC form of 09:10 on 2026-08-12 is 20260812T131000Z (EDT, UTC-4), and of 09:10 on 2026-11-03 is 20261103T141000Z (EST, UTC-5).
  • A Date input at the spring-forward and fall-back days gives the right local time.
  • An unknown time zone throws a clear error.

New here? Setup is in docs/getting-started/setup.md; the first-PR walk-through is docs/getting-started/first-contribution.md.

Dominant language
TypeScript
Stars
19
Forks
94
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from DevDogsUGA/DogDays

All issues in DevDogsUGA/DogDays

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.