当我创建以下日期变量时:
numpy array
并运行
var d = new Date('2018-01-01')
我跑步时得到31。
d.getDate()
我得到11。
为什么我得到31和11而不是1和1?
答案 0 :(得分:1)
我相信,如果您住在西半球,这是一个时区问题。
JavaScript计时器基于Unix ticks(基本上是从1970年1月1日开始的秒数)。 由于使用ISO 8601的仅日期格式的字符串被视为UTC,因此Javascript通过添加本地时区来缓解这种情况,从而调整了时间。
例如:2018-01-01 00:00:00-您的时区= 2017-12-31 {您的时区偏移量}。
您可以通过将时区移至负UTC,尝试使用otool -L /Applications/Houdini/Houdini16.5.571/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/python2.7libs/_hou.so
/Applications/Houdini/Houdini16.5.571/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/python2.7libs/_hou.so:
@rpath/Houdini.framework/Versions/16.5.571/Houdini (compatibility version 1.0.0, current version 16.5.255)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1443.14.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 22.0.0)
/System/Library/Frameworks/QTKit.framework/Versions/A/QTKit (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 492.0.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0)
方法创建日期,然后获取日期来重新创建该日期。
您可以改用install_name_tool -change
方法来解决此问题。
Here's对它有更好的理解。
答案 1 :(得分:0)
月份从0开始编制索引,这意味着它们从0开始到11。