他说得对,他能够为自己的代码负责,而你和微软都不能。
理由说得很明白,项目中本来都是使用 DateTime 的,而且可以满足需求,换成 DateTimeOffset 除了「微软推荐」外没有特别的好处(看 .net7 源码的话,DateTimeOffset 里面就包含一个 DateTime ,Add 操作都是调的内部 DateTime 的同名 API ,不降低效率就不错了)。
他说的「新」应该是相对于项目里的旧代码而言,DateTimeOffset 是一个新的东西,在对付旧项目的时候,复用项目已有的逻辑是较为稳妥的,更别提这玩意是可能万年不更新的固件了,炸了更头疼。
其实 DateTimeOffset 也有一些需要考虑的问题,某些外部数据源很可能只能使用 DateTime (例如 SQLite 不支持 DateTimeOffset 类型),这一点他间接考虑到了(某些三方库可能会出问题)。
而你只是说微软推荐就建议他用,根本没有告诉他可能出现的问题,你似乎也对这个项目不太了解,屎山炸了你也不能负责,然后因为他的保守而生气挂人。还是放下助人情结,尊重他人命运,这样双方的心情都会好很多。
DateTimeOffset:
https://github.com/dotnet/runtime/blob/8ccdb1cd29754ed64a451300cd1fc59d35b88d40/src/libraries/System.Private.CoreLib/src/System/DateTimeOffset.cs#L62