首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ubuntu时区已更改,但mongodb仍根据以前的时区打印datetime

的原因可能是因为mongodb的时区设置与Ubuntu系统的时区设置不一致。在mongodb中,datetime类型的数据是以UTC时间存储的,而在打印时会根据系统的时区进行转换显示。

要解决这个问题,可以按照以下步骤进行操作:

  1. 确认Ubuntu系统的时区设置是否正确。可以使用命令timedatectl来查看当前系统的时区设置,如果时区不正确,可以使用sudo timedatectl set-timezone <时区>来更改时区设置。例如,要将时区设置为北京时间,可以使用命令sudo timedatectl set-timezone Asia/Shanghai
  2. 确认mongodb的时区设置是否正确。在mongodb中,可以通过修改配置文件来设置时区。打开mongodb的配置文件(通常是/etc/mongod.conf),找到systemLog.timeZoneInfo字段,确保其值与Ubuntu系统的时区设置一致。例如,如果Ubuntu系统的时区设置为Asia/Shanghai,则可以将systemLog.timeZoneInfo设置为"Asia/Shanghai"。
  3. 重启mongodb服务使配置生效。使用命令sudo service mongod restart来重启mongodb服务。
  4. 确认mongodb中的datetime数据是否正确。可以通过查询mongodb中的datetime数据来验证时区设置是否生效。例如,可以使用mongodb的shell命令db.collection.find()来查询datetime类型的数据,并观察打印出的时间是否符合预期。

总结起来,要解决Ubuntu时区已更改,但mongodb仍根据以前的时区打印datetime的问题,需要确保Ubuntu系统和mongodb的时区设置一致,并重启mongodb服务使配置生效。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在Ubuntu 18.04上设置时间同步

任何用户都可以输入此命令来打印日期和时间: date Tue Jul 10 14:48:52 UTC 2018 大多数情况下,您服务器将默认为UTC时区,如上面的输出所示。...UTC是世界协调时间,经度为零度时间。当您基础架构跨越多个时区时,始终如一地使用通用时间可以减少混淆。 如果您有不同要求并需要更改时区,则可以使用该timedatectl命令执行此操作。...首先,列出可用时区: timedatectl list-timezones 时区列表将打印到您屏幕。您可以按SPACE向下翻页,按b向上翻页。找到正确时区后,记下它,然后键入q以退出列表。...timesyncd连接到相同时间服务器,并以大致相同方式工作,更轻量级,更集成systemd和Ubuntu低级别工作。...结论 在本文中,我们展示了如何查看系统时间,更改时区,使用Ubuntu默认时间同步以及安装ntpd。

18.7K00

如何在Ubuntu 16.04上设置时间同步

任何用户都可以输入此命令来打印日期和时间: $ date Wed Apr 26 17:44:38 UTC 2017 大多数情况下,您服务器将默认为UTC时区,如上面的输出所示。...UTC是世界协调时间,经度为零度时间。当您基础架构跨越多个时区时,始终如一地使用通用时间可以减少混淆。 如果您有不同要求并需要更改时区,则可以使用timedatectl命令执行此操作。...首先,列出可用时区: $ timedatectl list-timezones 时区列表将打印到您屏幕。您可以按SPACE向下翻页,然后b翻页。找到正确时区后,记下它,然后输入q以退出列表。...timesyncd连接到相同时间服务器,并以大致相同方式工作,更轻量级,更集成systemd和Ubuntu低级别工作。...结论 在本文中,我们展示了如何查看系统时间,更改时区,使用Ubuntu默认时间同步以及安装ntpd,您可以参考官方NTP文档。

5.1K40
  • nodejs,mongodb不同时区问题

    nodejs,mongodb不同时区问题 不同国家,使用不同时区,而服务器代码却在国内,跨时区日期不同,根据日期查询,查询不到数据了 解决方法 mongodb存储new Date()是UTC时间,也就是...0时区时间,世界标准时间 参考moment官网,时区问题: http://momentjs.com/timezone/docs/ 代码实现: 安装 moment-timezone npm install...mongoDate: 2018/08/24, 在本地是可以, 本地打印: { '$gte': 2018-08-24T16:00:00.000Z, '$lt': 2018-08-25T16:00:00.000Z...} 但在服务上,打印条件却是; { '$gte': 2018-08-23T16:00:00.000Z, '$lt': 2018-08-24T16:00:00.000Z } 本地代码和服务器代码一摸一样...不管是几点,打印都是T16:00:00.000Z 最后,加了8小时,发到服务上日期条件为 const queryBetweenDate = { $gte: new Date(new Date(mongoDate

    1.9K30

    MySQL关于时间设置注意事项

    (这不适用于其他类型,比如DATETIME。)默认情况下,每个连接的当前时区是服务器时间。时区可以在每个连接基础上设置。只要时区设置保持不变,就会返回所存储相同值。...如果存储一个时间戳值,然后更改时区并检索该值,则检索到值与存储值不同。出现这种情况是因为没有在两个方向上使用相同时区进行转换。当前时区可以作为time_zone系统变量值。 ?...根据启用是strict SQL模式还是NO_ZERO_DATE SQL模式,默认值“0000-00-00 00:00:00”可能无效。...时间戳列值将从会话时区转换为UTC用于存储,从UTC转换为会话时区用于检索。 会话时区设置不影响UTC_TIMESTAMP()等函数显示值,也不影响DATE、time或DATETIME列中值。...#设置时区更改为东八区 SET GLOBAL time_zone = '+8:00'; ?

    1.9K20

    3分钟短文 | MySQL存时间,到底该用timestamp还是datetime

    学习时间 MySQL中 timestamp 通常用于跟踪记录更改,并且通常在每次记录更改时进行更新。如果要存储特定值,则应使用 datetime 字段。...) 如果要使用PHP对记录进行查询,则可以很容易地将值格式更改为UNIX时间戳。...一个重要区别是,DATETIME表示日期(如在日历中查找),和时间(如在时钟上可以看到),而TIMESTAMP表示明确定义时间点。 如果应用程序处理时区,那么这可能非常重要。...比如多久以前是'2019-09-01 16:31:00'?这取决于你所在时区。对我来说,这只是几秒钟前,对你来说,它可能代表将来时间。...查看写入数据。 ? 修改时区,再次查看表内值。我们发现,timestamp 类型字段时间随着时区改变发生了改变。而 datetime 字段则不会改变。

    1.3K20

    python 内建模块_simulink常用模块

    time,记为0(1970年以前时间timestamp为负数),当前时间就是相对于epoch time秒数,称为timestamp: dt = datetime(2015, 4, 19, 12...()拿到当前UTC时间,再转换为任意时区时间 利用带时区datetime,通过astimezone()方法,可以转换到任意时区。...不是必须从UTC+0:00时区转换到其他时区,任何带时区datetime都可以正确转换,例如下面bj_dt到tokyo_dt转换。...这样一来,我们用namedtuple可以很方便地定义一种数据类型,它具备tuple不变性,又可以根据属性来引用,使用十分方便。...用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印字符,所以,如果要让记事本这样文本处理软件能处理二进制数据,就需要一个二进制到字符串转换方法

    80620

    Web开发中时区问题

    而系统时间改变会影响到JVM默认时区,所以为了让服务器程序处于北京时间,需要通过代码指定时区,如下: TimeZone.setDefault(TimeZone.getTimeZone("GMT+8...这是因为我使用ElementUI组件日期时间选择器,其默认时区为0时区,所以会将我们选择时间根据浏览器时区(西八区)转换成0时区时间。最后传输内容为时间+时区字符串表示。...修改MySQL时区后查询时间范围正确 这是因为在create_time字段类型为datetime,而datetime是没有时区概念,存储是格式为YYYYMMDDHHMMSS(年月日时分秒)整数,...serverTimezone和JVM时区做转换,由于两者都是东八区,所以startTime和endTime时间字符串不变,但是由于MySQL时区变为西八区,查询结果就落到了H、I、J上。...serverTimezone为东八区查询情况 下面我们把serverTimezone去掉,在未指定serverTimezone情况下,驱动会根据MySQL时区作为serverTimezone,然后做转换

    3.4K30

    Python 处理日期与时间全面总结!

    tzset() 根据环境变量TZ重新初始化时间相关设置。 time模块包含属性 timezone 是当地时区(未启动夏令时)距离格林威治偏移秒数(>0,美洲;<=0大部分欧洲,亚洲,非洲)。...tzname 包含一对根据情况不同而不同字符串,分别是带夏令时本地时区名称和不带。...(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息; utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象; combine...其中now()和fromtimestamp()可以接受一个tzinfo对象来生成offset-aware类型datetime对象,但是标准库并不提供任何实现tzinfo类,只能自己实现。...一旦生成了一个offset-aware类型datetime对象,我们就能调用它astimezone()方法,生成其他时区时间(会根据时差来计算)。

    2.6K20

    最全 Python 处理日期与时间全面总结!

    tzset() 根据环境变量TZ重新初始化时间相关设置。 time模块包含属性 timezone 是当地时区(未启动夏令时)距离格林威治偏移秒数(>0,美洲;<=0大部分欧洲,亚洲,非洲)。...tzname 包含一对根据情况不同而不同字符串,分别是带夏令时本地时区名称和不带。...(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息; utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象; combine...其中now()和fromtimestamp()可以接受一个tzinfo对象来生成offset-aware类型datetime对象,但是标准库并不提供任何实现tzinfo类,只能自己实现。...一旦生成了一个offset-aware类型datetime对象,我们就能调用它astimezone()方法,生成其他时区时间(会根据时差来计算)。

    5.4K32

    几个被淘汰 Python 库,请不要再用!

    根据文档,随机模块不应用于安全目的, 你应该使用 secrets 或 os.urandom, secrets 模块绝对更可取,因为它比较新,并且包含一些用于十六进制令牌实用程序/便利方法以及 URL...}") # Datetime: 2022-06-04 00:00:00-04:00, Timezone: EDT, TZ Info: America/New_York datetime 模块将所有时区操作委托给抽象基类...然而,使用 zoneinfo 有一个警告——它假定系统上有可用时区数据,UNIX 系统就是这种情况, 如果你系统没有时区数据,那么你应该使用 tzdata 包,它是由 CPython 核心开发人员维护第一方库...Proper Logging 而不是 print 这不是标准库最新添加,值得使用 - 你应该使用正确日志记录而不是打印语句, 如果你在本地调试问题,则可以使用 print,但对于任何无需用户干预即可运行生产就绪程序...与打印语句相比,上面的简单配置将为你提供卓越调试体验, 最重要是,你可以进一步自定义日志库以记录到不同位置、更改日志级别、自动轮换日志等。

    16720

    几个被淘汰Python库,请不要再用!

    根据文档,随机模块不应用于安全目的, 你应该使用 secrets 或 os.urandom, secrets 模块绝对更可取,因为它比较新,并且包含一些用于十六进制令牌实用程序/便利方法以及 URL...}") # Datetime: 2022-06-04 00:00:00-04:00, Timezone: EDT, TZ Info: America/New_York datetime 模块将所有时区操作委托给抽象基类...然而,使用 zoneinfo 有一个警告——它假定系统上有可用时区数据,UNIX 系统就是这种情况, 如果你系统没有时区数据,那么你应该使用 tzdata 包,它是由 CPython 核心开发人员维护第一方库...Proper Logging 而不是 print 这不是标准库最新添加,值得使用 - 你应该使用正确日志记录而不是打印语句, 如果你在本地调试问题,则可以使用 print,但对于任何无需用户干预即可运行生产就绪程序...与打印语句相比,上面的简单配置将为你提供卓越调试体验, 最重要是,你可以进一步自定义日志库以记录到不同位置、更改日志级别、自动轮换日志等。

    21010

    解决ValueError: day is out of range for month问题

    这个错误通常是因为使用了错误日期,导致月份和日期不匹配。下面介绍一些解决这个问题方法。方法一:检查日期范围最常见问题是使用了不符合实际日期,例如使用了31号日期,实际上这个月并没有31天。...如果日期合法,就会打印出解析后日期;如果日期不合法,就会打印出​​Invalid date​​。...程序会计算两个日期之间相差天数,并打印结果。 如果输入日期不合法,程序会打印出​​Invalid date format​​错误提示。...支持时区处理:dateutil可以处理带有时区信息日期和时间。...它​​tz​​模块提供了与时区相关类和函数,包括​​tzutc​​表示UTC时区、​​tzlocal​​表示本地时区、​​gettz​​函数根据时区名返回时区等。

    1K10

    软件测试|把datetime拍在沙滩上pendulum模块

    前言之前我们有一篇文章,使用datetime模块来获取昨天今天明天日期,不说非常复杂,还是要说一下,还是有点麻烦。而且datetime模块还有一大缺点,就是对于时区处理功能不够强大。...datetime# 默认是本地时区时区可以指定local_time = pendulum.now()print(local_time)# 创建当前 date,返回仍是 datetime# 只不过时分秒均为...0,同样可以指定时区today = pendulum.today()print(today)# 获取明天对应 date# 返回datetime,时分秒为 0# 时区可以指定,默认是本地时区tomorrow...-----输出结果如下:2022-04-30T20:10:30+08:002022-02-28T20:10:30+08:00上述代码返回是月份加减,这不是全部,这只是基本操作,后面我们来展示一下更强日期时间运算操作...总结本篇文章我们主要讲解了pendulum模块安装和使用,这个模块比datetime模块使用更加方便,对于时区和时间计算更加快捷,大家快用起来吧!

    32220

    Ubuntu 常用命令

    (输入新口令)   成功后,此口令即为root口令 5、Ubuntu 查看安装软件包   sudo dpkg -l 6、ubuntu 修复依赖包depends关系   apt-get -f install...  7、ubunut 安装deb包   dpkg -i XXXXX.deb 8、ubuntu 设置时区和同步时间方法   首先设置时区,使用root用户执行: root@ubuntu:tzconfig...//如果tzconfig命令不存在,则执行 root@ubuntu:dpkg-reconfigure tzdata   然后选择 chongqiong/shanghai 两个时区。   ...9、Docker升级到最新版本方法:   使用root用户执行: curl -sSL https://get.docker.io/ubuntu/ | sudo sh   就会自动升级到最新版本docker...docker@ubuntu:done;  12、ubuntu SSH登录失败 安装完openssh-server后,确认ssh已经执行了,登录失败,报如下错误: Read from socket

    1.1K70
    领券