Due to a series of retcons and reversed retcons, I now believe a Starfleet year is roughly 3 Earth years.
I've bolded the important parts below:
Star Trek Guide for TOS
We invented "Stardate" to avoid continually mentioning Star Trek's
century (actually, about two hundred years from now), and getting into
arguments about whether this or that would have developed by then.
Pick any combination of four numbers plus a percentage point, use it
as your story's stardate. For example, 1313.5 is twelve o'clock noon
of one day and 1314.5 would be noon of the next day. Each percentage
point is roughly equivalent to one-tenth of one day. The progression
of stardates in your script should remain constant but don't worry
about whether or not there is a progression from other scripts.
Stardates are a mathematical formula which varies depending on
location in the galaxy, velocity of travel, and other factors, can
vary widely from episode to episode.
Star Trek: The Next Generation Writer's/Director's Guide of March 23, 1987
A stardate is a five-digit number followed by a decimal point and one
more digit. Example: "41254.7." The first two digits of the stardate
are always "41." The 4 stands for 24th century, the 1 indicates first
season. The additional three leading digits will progress unevenly
during the course of the season from 000 to 999. The digit following
the decimal point is generally regarded as a day counter.
And a note just below it:
Under this system, 1,000 stardate units were equal to approximately
one year, since that is the normal timespan between two TV seasons.
The value of the century digit nine seasons later was clarified as
early as TNG: "Future Imperfect", where the imaginary Jean-Luc Riker
asks the computer to display his birthday party of stardate 58416,
less than sixteen years in the future according to the episode. The
relation to the 24th century could only be symbolic.
Different systems, you say? Not so! One user has done research into how the decimal point really is a fraction of a day. The TOS-era fraction matches up perfectly in TNG 2x11, 2x13, 4x17, 4x18, 5x07, and 6x05 - all various times a fractional stardate has appeared on the screen at the same time as a time of day.
So, to summarize the above:
- Future Imperfect takes place on Stardate 44286, and Jean-Luc Riker shows Will Riker his birthday party on Stardate 58416, less than 16 years into the future. Just over 14000 Stardate unites, to be precise - so 1000 Stardate units is very close to 1 year.
- As noted by the user who looked into times, 1 Stardate unit correlates exactly to 1 day, in both TOS and TNG (and because it does in TNG, DS9 and VOY should as well - they used the same system).
- Finally, TOS 3x24 featured the Stardate 5928.5, and VOY contained 56947.0 - by these, we know the day counter doesn't just hit 365 and reset. One year contains at least 947 days.
There is an additional note on here and Stardates not exactly coinciding with the 1000 = 1 year conversion:
The relation to the 24th century could only be symbolic. The writers
of the Star Trek Chronology further developed the system by having a
calendar year start at 000 and end at 999, although this does not fit
all references in the show, such as a Diwali celebration around
stardate 44390, too early in the year according to the simplified
system. (TNG: "Data's Day") Stardate 41986.0 was in 2364 according to
TNG: "The Neutral Zone", hence the simplified system assumes that
stardates 41xxx.x covered the entire year 2364, stardates 42xxx.x the
entire year 2365 and so forth.
This can be explained away if a Stardate year isn't exactly 1000 Stardate units, simply very close to it. And it makes sense - one year on Earth is around 365.2425 days. Gene Roddenberry did also state that Stardates do have some natural basis, just like Earth years are based on the sun:
Stardates are a mathematical formula which varies depending on
location in the galaxy, velocity of travel, and other factors, can
vary widely from episode to episode.
EDIT
Yes, if Jean-Luc Riker was 16 Starfleet years old, that would make him about 48 Earth years old, which is definitely wrong. So, I feel I made a mistake somewhere... Or, Stardates and "years" are just plain inconsistent ;)