Migrating angular-bootstrap-datetimepicker / ui-date to modern Angular
angular-bootstrap-datetimepicker offered a combined date and time picker for Bootstrap, and ui-date wrapped the jQuery UI datepicker. Both are tied to AngularJS.
What replaces it
| Option | When to choose it |
|---|---|
| Angular Material datepicker and timepicker | Maintained by the Angular team (the timepicker exists from Angular Material 19); works with native Date or with a date adapter such as date-fns or Luxon. |
| ng-bootstrap datepicker and timepicker | When the app keeps its Bootstrap styling. |
| Native date and datetime-local inputs | Enough for simple forms, with the platform's own picker on mobile. |
How to migrate it
- Check what each field stores (a Date, an ISO string, a timestamp or a Moment object) and what the API expects.
- Build shared date and date-time field components over the chosen picker, with one display format and one locale.
- Replace the fields together with their screen, and remove jQuery UI or Moment when the last old picker is gone.
Watch out. Date-only values are the classic bug: converting a local midnight Date with toISOString can shift it to the previous day. Send date-only fields as yyyy-MM-dd strings.
Other libraries
Planning a migration or a micro-frontend platform?
In a 20-minute call you describe your situation and I tell you how I'd approach it. If it isn't worth doing yet, I'll say so.
Message me on LinkedIn