The Gregorian Calendar is a minor correction to the Julian. In the Julian Calendar every fourth year is a leap year in which February has 29, not 28 days, but in the Gregorian, years divisible by 100 are not leap years unless they are also divisible by 400. How prescient was Pope Gregory! Whatever the problems of Y2K, they did not include sloppy programming which assumes every year divisible by 4 is a leap year since 2000, unlike the previous and subsequent years divisible by 100, is a leap year. As in the Julian Calendar, days are considered to begin at midnight.
The average length of a year in the Gregorian Calendar is 365.2425 days compared to the actual solar tropical year (time from equinox to equinox) of 365.24219878 days, so the calendar accumulates one day of error with respect to the solar year about every 3300 years. As a purely solar calendar, no attempt is made to synchronise the start of months to the phases of the Moon.
While one can't properly speak of “Gregorian dates” prior to the adoption of the calendar in 1582, the calendar can be extrapolated to prior dates. In doing so, this implementation uses the convention that the year prior to year 1 is year 0. This differs from the Julian calendar in which there is no year 0—the year before year 1 in the Julian calendar is year −1. The date December 30th, 0 in the Gregorian calendar corresponds to January 1st, 1 in the Julian calendar.
A slight modification of the Gregorian Calendar could be made to adapt it to become even more precise if so required. For if you add the additional rule that years evenly divisible by 4000 are not leap years, you obtain an average solar year of 365.24225 days per year which, compared to the actual mean year of 365.24219878, is equivalent to an error of one day over a period of about 19,500 years; this is comparable to errors due to tidal braking of the rotation of the Earth, which the Gregorian Doctors may have already considered within their calculations.