@swapnilnandgave My strategy has always been to grab and store the user's native timezone on the user table via a timezone string field.
You can use Moment tzGuess to figure out a default setting for the user on sign up. https://momentjs.com/timezone/docs/#/using-timezones/guessing-user-timezone/
Once you have the user's timezone stored, make sure any input from the user is converted to UTC and stored in the database.
When displaying time-related info to the user, convert from UTC to their stored users.timezone setting. This can be done using a custom cast in Laravel or handled on the front-end.
This will ensure all time data is stored in UTC and can be converted to any user's timezone.