首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在clojure REPL中正确设置时区?

如何在clojure REPL中正确设置时区?
EN

Stack Overflow用户
提问于 2020-06-27 05:37:23
回答 1查看 372关注 0票数 2

在clojure REPL上对postgres数据库运行查询时,时间戳字段以UTC格式显示,我需要它们位于美国/圣保罗时区(UTC-3)

到目前为止,我已经在Intellij的REPL上尝试了以下几点:

  • 在文件-Duser.timezone=America/Sao_Paulo中设置idea.vmoptions (Intellij)
  • :jvm-opts ["-Duser.timezone=America/Sao_Paulo"]添加到project.clj
  • 在Intellij的REPL配置中添加-Duser.timezone=America/Sao_Paulo
  • 导出JAVA_OPTS="-Duser.timezone=America/Sao_Paulo:$JAVA_OPTS"~/.zshrc

关于Leiningen REPL的如下内容:

  • :jvm-opts ["-Duser.timezone=America/Sao_Paulo"]添加到project.clj
  • 导出JAVA_OPTS="-Duser.timezone=America/Sao_Paulo:$JAVA_OPTS"~/.zshrc

到目前为止都没有用!

样本代码

代码语言:javascript
复制
(ns experiments
  (:require [next.jdbc :as jdbc]))

(def db
  {:dbtype   "postgres"
   :dbname   "<dbname>"
   :host     "<host>"
   :port     5432
   :user     "<user>"
   :password "<pass>"})

(def ds (jdbc/get-datasource db))

(jdbc/execute! ds ["select current_timestamp"])
EN

回答 1

Stack Overflow用户

发布于 2020-06-27 18:02:14

你没有提到Postgres的任何选择。请仔细研究此页的信息和选项。

如果上面的内容不能解决您的问题,那么使用java.time进行转换可能是最容易的。我还有一些助手/方便函数可在这里找到单元测试展示了它们的作用,源代码提供了java.time互操作的示例。

我会避免旧的Joda时间库,因为它们已经过时(由java.time代替)。我认为Java是访问java.time的最简单、最直接的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62606347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档