umair-iftikhar

umair-iftikhar

I am dealing with DateTime in Elixir. I want to change my Time Zone and date format. 2019/02/06 23:10 is my required format here. But when I use <%= "#{NaiveDateTime.utc_now}" %> This 2019-03-01 06:23:20.443620 shown.

I also want to change my timezone. Toronto, ON, Canada (GMT-5)

First 3 of 3 Posts Switch mode

NobbZ

NobbZ

You need to use Timex, it provides functions for TZ conversion and formatting.

umair-iftikhar

umair-iftikhar OP

After I Add this in my system, System stop working and start sowing me errors.

To use Timex with my projects, edit my mix.exs file and add it as a dependency, as well as I added :timex to my applications list.

def application do
  [
      mod: {GenPrNew.Application, []},
      extra_applications: [:logger, :runtime_tools],
      applications: [:timex]
  ]
end

defp deps do
  [
      {:phoenix, "~> 1.4.1"},
      {:phoenix_pubsub, "~> 1.1"},
      {:phoenix_ecto, "~> 4.0"},
      {:ecto_sql, "~> 3.0"},
      {:postgrex, ">= 0.0.0"},
      {:phoenix_html, "~> 2.11"},
      {:phoenix_live_reload, "~> 1.2", only: :dev},
      {:gettext, "~> 0.11"},
      {:jason, "~> 1.0"},
      {:plug_cowboy, "~> 2.0"},
      {:timex, "~> 3.0"}
  ]
end

Then after running mix deps.get I start the server and have the following errors.

Compiling 13 files (.ex)
Generated gen_pr_new app
[info] Application gen_pr_new exited: GenPrNew.Application.start(:normal, []) returned an error: shutdown: failed to start child: GenPrNew.Repo
    ** (EXIT) shutdown: failed to start child: DBConnection.ConnectionPool
        ** (EXIT) exited in: GenServer.call(DBConnection.Watcher, {:watch, DBConnection.ConnectionPool.PoolSupervisor, [#PID<0.364.0>, #Referen
ce<0.2753608256.129368067.63218>, Postgrex.Protocol, [types: Postgrex.DefaultTypes, port: 5432, repo: GenPrNew.Repo, telemetry_prefix: [:gen_pr
_new, :repo], otp_app: :gen_pr_new, timeout: 15000, username: "postgres", password: "", database: "gen_pr_new_dev", hostname: "localhost", pool
_size: 10, pool: DBConnection.ConnectionPool]]}, :infinity)
            ** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its

 application isn't started
** (Mix) Could not start application gen_pr_new: GenPrNew.Application.start(:normal, []) returned an error: shutdown: failed to start child: Ge
nPrNew.Repo
    ** (EXIT) shutdown: failed to start child: DBConnection.ConnectionPool
        ** (EXIT) exited in: GenServer.call(DBConnection.Watcher, {:watch, DBConnection.ConnectionPool.PoolSupervisor, [#PID<0.364.0>, #Referen
ce<0.2753608256.129368067.63218>, Postgrex.Protocol, [types: Postgrex.DefaultTypes, port: 5432, repo: GenPrNew.Repo, telemetry_prefix: [:gen_pr
_new, :repo], otp_app: :gen_pr_new, timeout: 15000, username: "postgres", password: "", database: "gen_pr_new_dev", hostname: "localhost", pool
_size: 10, pool: DBConnection.ConnectionPool]]}, :infinity)
            ** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its
 application isn't started
wojtekmach

wojtekmach

Hex Core Team

By setting applications: key you’re no longer using “application inference” [1], so you’d have to explicitly put all dependencies there if you want them started. The lack of :db_connection in the application list causes the crash.

It’s best not to set applications: key explicitly, and let inference do it’s work. Timex should probably show how to install it with and without application inference, if it doesn’t, I think a PR to update docs is likely to get accepted.

Worth mentioning that as of Elixir v1.8 you no longer need to use Timex to convert between timezones, this functionality is now available in stdlib using DateTime.shift_zone/3. You’d need a timezone database like the one provided by tzdata package [2]

There’re no built-in formatting options other than ISO 8601, so if you need to have a custom format you need to roll your own or bring in Timex. If formatting would be the only reason to bring Timex though, I’d reconsider that.

[1] elixir/CHANGELOG.md at v1.4 · elixir-lang/elixir · GitHub
[2] tzdata | Hex

— All posts loaded —

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 91898 914
New
AstonJ
The obligatory hello world thread! Who are you and where are you from? :stuck_out_tongue:
4616 55835 594
New
byu
@chrismccord : I just saw the Extract AGENTS.md from Phoenix.new into phx.new generator commit to the phoenix project. My initial shotgu...
New
arcanemachine
I was working on an Ecto migration and I needed a timestamp. So, for the nth time, I looked up the different data types for timestamps, a...
New
alexslade
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog It says that Fly is going all-in on sprites, which is a worry ...
New
Herve37
We’re evaluating API mocking tools for OpenAPI-based projects and would love to hear what other teams are using. We’re particularly inte...
New
matt-savvy
Is there a word for the ~> symbol used in Version strings? Do you also just call it a Squiggle Arrow™ ?!
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge &amp; Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New

We're in Beta

About us Mission Statement