Library for time zone conversions and automatic DST adjustments

pert:
This is a known issue. The author of the Time library has moved the code to a file named TimeLib.h in recent versions of the library but left Time.h for backwards compatibility.

It is combination of Windows not supporting upper/lower case and the way the IDE creates the -I include list.
IMO, the IDE should be placing the Arduino libraries ahead of the -I for the core headers.
If this were done then the problem would also go away.

Currently because the gcc tools are not really installed properly when the IDE is installed, the IDE must call the gcc tools with full paths and specify the include paths for the tools using -I paths.
When the gcc tools are installed properly, no -I paths are needed for the compiler and system headers and any additional -I headers will be searched before the system headers.

Because the IDE uses -I to specify the compiler and system headers, and those are before the Arduino libraries on the command line, they get searched before the Arduino headers.

In the case of an OS like Windows that doesn't support proper upper/lower case file names, you can get a collision between Time.h and time.h
And since the system includes were included using -I paths that were before the Arduino library -I paths, time.h vs Time.h was picked.
Had the IDE placed the -I paths for the compiler and the system headers after the Arduino headers, the compiler would have picked Time.h

I believe that the IDE can even be smart enough to avoid the case insensitivity so that if a sketch included <time.h> it would not include the Time library (since it doesn't have a file called time.h in it) and therefore not put it on the -I include path.

The combination of moving compiler and system includes after Arduino libraries and making the IDE smart enough to check for exact header file name matches would prevent this problem with no changes to any library or sketch code.

--- bill