Extract time from moment js object
Asked Answered
N

4

79

How do i extract the time using moment.js?

"2015-01-16T12:00:00"

It should return "12:00:00 pm". The string return will be passed to the timepicker control below.

http://jdewit.github.com/bootstrap-timepicker 

Any idea?

Nashner answered 16/1, 2015 at 7:0 Comment(0)
R
123

If you read the docs (http://momentjs.com/docs/#/displaying/) you can find this format:

moment("2015-01-16T12:00:00").format("hh:mm:ss a")

See JS Fiddle http://jsfiddle.net/Bjolja/6mn32xhu/

Romina answered 16/1, 2015 at 7:32 Comment(4)
For instance moment("2015-01-16T16:00:00").format("HH:mm:ss a") returns as "16:00:00 pm" ??? it should be "4:00:00 pm" !Nashner
Yes, take a look here jsfiddle.net/Bjolja/6mn32xhu What do you mean it did not work? Error message? Wrong format on output?Romina
i expect "4:00:00 pm" not 16pmNashner
Change HH to hh, so moment("2015-01-16T16:00:00").format("hh:mm:ss a"). I've updated the fiddle aswellRomina
H
35

You can do something like this

var now = moment();
var time = now.hour() + ':' + now.minutes() + ':' + now.seconds();
time = time + ((now.hour()) >= 12 ? ' PM' : ' AM');
Houseleek answered 16/1, 2015 at 7:28 Comment(1)
The approach doesn't consider the timezoneEscribe
P
9

Use format method with a specific pattern to extract the time. Working example

var myDate = "2017-08-30T14:24:03";
console.log(moment(myDate).format("HH:mm")); // 24 hour format
console.log(moment(myDate).format("hh:mm a")); // use 'A' for uppercase AM/PM
console.log(moment(myDate).format("hh:mm:ss A")); // with milliseconds
<script src="https://momentjs.com/downloads/moment.js"></script>
Passacaglia answered 12/10, 2019 at 7:29 Comment(0)
L
5

This is the good way using formats:

const now = moment()
now.format("hh:mm:ss K") // 1:00:00 PM
now.format("HH:mm:ss") // 13:00:00

Red more about moment sring format

Lour answered 22/12, 2018 at 22:53 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.