在shell中,当我打印这个
时2016-11-23 23:00:00.
我得到date -d "2016-11-23 13:05 1 hours ago" "+%Y-%m-%d %H:00:00"
奇怪!
我打印时
2016-11-23 12:00:00
我得到2016-11-23 12:00:00
。
为什么他们不同?我认为他们都是conn = New Mysqlconnection()
conn.ConnectionString = "server=justhost.com; user id=*****; password=****; database=login"
Try
conn.Open()
Catch myerror As MySqlException
MsgBox("Error connecting to database!")
End Try
。
答案 0 :(得分:4)
这是因为负数被视为您的时区的偏移,而不是13:05
。在我的时区,MET(格林尼治标准时间以东一小时),这就是我得到的:
$ date -d "2016-11-23 13:05 -1 hours " "+%Y-%m-%d %H:00:00"
2016-11-23 16:00:00
$ TZ=GMT date -d "2016-11-23 13:05 -1 hours " "+%Y-%m-%d %H:00:00"
2016-11-23 15:00:00
$ TZ=GMT-1 date -d "2016-11-23 13:05 -1 hours " "+%Y-%m-%d %H:00:00"
2016-11-23 16:00:00
$ TZ=GMT-1 date -d "2016-11-23 13:05 -2 hours " "+%Y-%m-%d %H:00:00"
2016-11-23 17:00:00
时区偏移量通常指定为四位数字,如
Sun, 29 Feb 2004 16:21:42 -0800
但显然日期(1)也很满意-1。
从手册页:
DATE STRING
--date = STRING是一种大多数自由格式的人类可读日期字符串,例如“Sun,2月29日 2004 16:21:42 -0800“或”2004-02-29 16:21:42“甚至”下周四“。日期字符串可能 包含表示日历日期,时间,时区,星期几,相对的项目 时间,相对日期和数字。空字符串表示当天的开始。 日期字符串格式比这里容易记录的更复杂但完全是 在信息文档中描述。