ruby - Time.new 和 Date.new .strftime("%A") 为相同的参数返回不同的日期
问题描述
解决不幸的日子,我遇到了:
require 'date'
Time.new(1001,1,1).strftime("%A") # => Thursday
Date.new(1001,1,1).strftime("%A") # => Wednesday
不是同一天。正确的一个(iGoogled)就是那个Time
。
这是为什么?
解决方案
Date
默认使用儒略历。当您处理很久以前的日期时,您会在日历改革之前得到奇怪的行为。
irb(main):013:0> Time.new(1001,1,1).strftime("%A")
=> "Thursday"
irb(main):014:0> Date.new(1001,1,1, Date::GREGORIAN).strftime("%A")
=> "Thursday"
更多细节在这里: https ://gist.github.com/pixeltrix/e2298822dd89d854444b
推荐阅读
- javascript - 消息在输入容器下方滑动
- android - getContentResolver() 方法不执行
- python - Pandavro:ModuleNotFoundError:没有名为“pandavro”的模块
- javascript - 处理多个受保护的路由
- c++ - cocos2d-x:从内存中读取mp3数据
- react-native - Visual Studio Code Intellisense 停止工作
- c# - 如何在标准的 .Net Framework 项目中使用 CoreFX 库代码?
- python - 找不到满足要求的版本 torch>=1.1.0
- javascript - 在组件之间传递 props 或数据 React
- visual-studio-code - VS Code 的设置 search.runInExtensionHost 有什么作用?