GitHub';s Git Bash(MSysGit)在Windows上显示错误的时间(区域)
我在GMT-3上,但是GitHub捆绑的bash端口中的GitHub';s Git Bash(MSysGit)在Windows上显示错误的时间(区域),bash,date,timezone,msysgit,github-for-windows,Bash,Date,Timezone,Msysgit,Github For Windows,我在GMT-3上,但是GitHub捆绑的bash端口中的date命令没有看到这一点,而是选择UTC时间并认为它也是本地时间 相比之下,这里有一个运行在GMT-4上的健康盒子: 如何让脚本显示正确的时间,即使在MSysGit中也能跨平台工作 (相关:)此函数将为您提供正确的时间,无论您是在Windows还是Linux上运行: # Are we running on Windows? isWindows() { [[ -n "$WINDIR" ]]; } # Get time, cross-p
date
命令没有看到这一点,而是选择UTC时间并认为它也是本地时间
相比之下,这里有一个运行在GMT-4上的健康盒子:
如何让脚本显示正确的时间,即使在MSysGit中也能跨平台工作
(相关:)此函数将为您提供正确的时间,无论您是在Windows还是Linux上运行:
# Are we running on Windows?
isWindows() { [[ -n "$WINDIR" ]]; }
# Get time, cross-platform.
getTime() {
if isWindows; then
cmd.exe "/c echo %time%" | head -c 8 | tr ' ' 0 # pad single-digit hours.
else
date +%T
fi
}
获取日期也是一个阅读练习(提示:
%date%
)。这与Git或任何编程问题无关。这是关于MinGW32和date
命令的。如果您只是在谈论git日志输出,那么如果您需要在脚本上使用date命令而不能依赖其输出,您可能还对它感兴趣,因为这是一个编程问题。在某些情况下,如果你想在bash中实现Windows/Linux兼容性,你必须进行一次黑客攻击,因为我找不到任何东西,我想我应该与全世界共享一个解决方案。关于标记,是的,错误地将其标记为git
,但如果您重新考虑投票结果,我将不胜感激,因为这实际上是关于编程,即脚本。您选择的最后一个原因提到“除非它涉及主要用于编程的工具”——情况就是这样