#1 楼
Raspbian从NTP服务器(“时间服务器”)获取时间。完全拔下Raspberry Pi的电源,拔出网络电缆,然后再次启动Raspberry Pi。您会看到日期和时间不正确。
如果您希望/需要在不连接互联网的情况下不重置日期和时间,则需要使用实时时钟(RTC) -例如,类似的内容-通过使用电池运行时钟来保持当前时间。同样,这也是您的计算机在不通电时如何保持时间的方法。之间的功率损耗。您还可以使用GPS模块,并将其连接到GPIO引脚。由于服务器的更改会逐渐应用于您的本地时钟,因此最多可能需要3个小时来进行自我纠正。网络稳定性对准确性影响最大,因为不可预测的网络(诸如3G之类的更无线的网络)将使准确性变得非常困难。简而言之:准确性非常好,您的计算机与实际时间(通过NTP服务器)之间的时间差通常小于100ms。
评论
好答案。感谢您有关硬件时钟的链接
–独家新闻
13年1月7日在21:47
好的答案;可以通过提及NTP协议的准确性来进行改进。
–亚历山大·张伯伦
2013年1月9日13:02
@AlexChamberlain感谢您的注意,我打算添加它,但是它完全使我忘了。我已经添加了。
– Vincent P
13年10月10日下午5:41
当我的Pi与网络连接时,我注意到时间现在已经漂移了30分钟。 ntpd是默认启用的还是我需要手动执行?
– andig
2013年6月6日上午10:41
也许是这样,直到Raspberry Pi3。两个月前我买了一个,而NTP时间更新被搞砸了,至少在官方Raspbian Jessie上是如此。我针对这个问题打开了三个线程,每个人都不知所措。我不得不购买硬件模块以节省时间来解决该问题。
–皮格马利翁
16年5月23日在7:47
#2 楼
Morgan的回答给了我解决问题所需的提示。转到http://support.ntp.org/bin/view/Servers/NTPPoolServers
选择您的地区,然后将显示您的国家和服务器列表。
编辑/etc/ntp.conf文件,例如
sudo vim / etc / ntp .conf
将服务器列表替换为您在网页中找到的服务器列表。例如,
服务器0.dk.pool.ntp.org iburst
服务器1.dk.pool.ntp.org iburst
服务器2.dk.pool。 ntp.org iburst
服务器3.dk.pool.ntp.org iburst
保存并退出。
重新启动ntp守护进程。
sudo /etc/init.d/ntp restart
检查日期是否正确。
日期
2013年6月20日星期四13:39:20
在我的一台服务器中,日期被立即更改。在另一个方面,我不得不等待一些细节。
评论
如果您在英国(或其他国家/地区),则只需更改两个字母的国家/地区代码即可,例如。服务器0.uk.pool.ntp.org iburst
–皮尔兹
15年4月13日在12:05
大约15分钟后,第4步才对我有用。也许是因为我运行了ntpq -p。我正在使用:“ Raspbian GNU / Linux 7(略)”和“ Linux raspberrypi 4.1.7+#817 PREEMPT Sat Sep 19 15:25:36 BST 2015 armv6l GNU / Linux”
– Peter Mortensen
16-11-26在14:47
也许hwclock或false-hwclock会干扰(但“ /etc/rc.conf”部分已过时)
– Peter Mortensen
16-11-26在14:57
ntpq -p部分来自“如何在Raspberry Pi上保留时间?”的答案。
– Peter Mortensen
16-11-26在15:11
在关闭5分钟后,它落后了5分钟(ntpq -p没有影响)。
– Peter Mortensen
16年11月26日在15:25
#3 楼
如果您拥有fake-hwclock
软件包,它还将执行节省时间戳的技巧,以防止重置时钟。设备关闭时,时间不会提前,因此会滞后。内部时钟在开启时也会漂移一点。如果您具有Internet连接(或通过服务器连接局域网)并运行ntp(ntpd / ntpdate),则可以通过网络获取时间,正如其他答案所指出的那样。当同步时,它确实非常准确。在线服务器也将为您提供共识的“世界时间”。
评论
关于fake-hwclock很有趣。为什么有人要在机器关闭时冻结时钟?我想不出一个用例。在那儿?
–独家新闻
2013年1月11日在22:44
@Scoop因为替代方法是浪费时间,所以它将重置。这将导致任何记录的时间戳似乎都来自未来等。“冻结”时钟可确保时间继续前进,即使计数已关闭:)
– XTL
13年1月14日在8:03
使用ntp或其他方式设置时钟当然仍然可以使用,fake-hwclock仅在启动和关闭时运行。
– XTL
13年1月14日在8:08
对于Arch Linux上的假时钟,请使用archplusplus.co.uk/post/40202081414/…
–levinalex
13年4月8日在12:19
现在,该软件包现在似乎已默认安装在Raspbian上。
–皮尔兹
2015年4月14日在7:59
#4 楼
Raspberry Pi没有集成的实时时钟(RTC)来提高成本效益:请参阅问题“为什么没有实时时钟(RTC)?”在官方常见问题解答中。这意味着当您拔下Raspberry Pi时,它会浪费时间。重新启动时,时间将初始化为1970年1月1日(又称Unix纪元)。该协议已在Internet上广泛使用,以确保计算机具有相同的时间,并具有高度的可靠性,因为某些计算机专用于使用原子钟进行时间计算。后台)启动了启动时间,并负责使用NTP协议同步时间。可以使用文件
ntpd
配置ntpd
。例如,您可以在此处设置服务器以请求时间。评论
还不记得最后一次吗?我一周前关闭了Raspberry Pi,现在的日期显示该日期已经是一周了,我认为,昨天和今天的正常运行时间再加上几个小时(在昨天和今天重新启动之后)。 (Raspbian,对应于2015年中期)。
– Peter Mortensen
2015年12月11日14:46
运行cat /etc/fake-hwclock.data,您将看到上一次false-hwclock节省了时间(显然是在关机时)。在RPi上使用fake-hwclock来模拟真实时钟。我认为您在没有Internet访问或没有ntpd的情况下启动RPi来更新时间。你能确认吗?
–摩根·库尔贝(Morgan Courbet)
2015年12月11日的15:00
#5 楼
Raspbian Stretch:默认情况下未安装NTPRaspbian Stretch似乎有所改变。简而言之,不再安装ntp。运行
dpkg -l | grep ntp
不会返回任何结果。显然,Stretch放弃了
ntp
应用程序,转而使用systemd。检查man timesyncd
条目以获取有关配置设置的详细信息。 timesyncd
仍然使用ntp服务器来更新时间。如果要手动配置这些服务器,则可以在/etc/systemd/timesyncd.conf
文件中进行配置。评论
完成编辑后,通过sudo systemctl restart timesyncd重新启动服务,然后通过journalctl -u timesyncd -f检查日志,有时公司防火墙会阻止该端口。在这种情况下,请使用提供的公司ntp服务器URL。
–本征场
19年2月5日在19:01
我相信守护程序的正确名称是systemd-timesyncd,因此重新启动的命令将是systemctl restart systemd-timesyncd
–chb
19年8月2日在16:49
#6 楼
如果要记录或保留离线时的时间,则可能需要添加实时时钟芯片,例如DS1307。评论
有相当合理的RTC解决方案可以购买例如cjemicros.co.uk/micros/individual/newprodpages/…
–皮尔兹
15年4月13日在12:09
评论
全新安装使它可以从各种来源获取时间。有关详细信息以及为什么要将其更改为time.nist.gov的原因,请参阅以下问答:raspberrypi.stackexchange.com/questions/68811/…