我正在为日期/时间子系统进行一些测试,并希望覆盖时区参数的不同组合(偏移,DST等)。
\DateTimeZone
的构造函数只接受标准timezone names之一。
是否可以从一组自定义规则创建\DateTimeZone
对象,例如。我自己的偏移和DST定义?
我担心的是,如果我选择一个名单列表,我的测试依赖于timezonedb(将来可能会改变),并且通过名称查找所有各种组合也非常繁琐需要足够的测试覆盖率。
我已经考虑使用reflection来处理\DateTimeZone
对象的内部,但是如果有更好的选择,我希望避免使用该路由。