![]() You just used moment(.) which will use the local time zone unless the time zone is explicit or if you pass a Date object instead of a string. moment.utc(" 01:24:21").utcOffset("-04:00").format('YYYYMMDD HHmmss ZZ')Īdditionally, note that I used moment.utc(.) to parse the input string. Moment does allow for offsets to be passed as strings, but it expects them to be in one of the ISO8601 formats: either HH:mm or HHmm. You can always convert it: moment.utc(" 01:24:21").utcOffset(+"-240").format('YYYYMMDD HHmmss ZZ') When you have an offset in terms of minutes, then you must use the numeric form. It is hard to imagine writing JavaScript without it.The main issue is that you are passing the offset as a string instead of a number. The moment.format() function is so flexible, In particular, date formatting is usually the first reason Time zones, localization, addition and subtraction, durations: Moment makes mostĬomplex date tasks easy. Moment is an extremely powerful library with an unbelievable breadth of features. Prints "vor einer Minute" console.log(duration.humanize( true)) Moving On In your customer's language: const moment = require( 'moment') The humanize() function is locale aware, so you can render durations True, indicates whether the duration is positive or negative ('in a minute' vs 'a minute ago'). The humanize() function takes an optional parameter suffix that, if set to Moment.duration(m2.diff(m1)).humanize( true) // 'a minute ago' ![]() For example: const moment = require( 'moment') Ĭonst m1 = moment( new Date( '1 2:04:03')) Ĭonst m2 = m1.clone().add( 59, 'seconds') Ĭonst duration = moment.duration(m1.diff(m2)) ĭuration.humanize( true) // 'in a minute' The moment.diff() function returns a Moment duration object that represents the difference between two moments. h: hour of the day on 12 hour clock, '2'ĭifference between two times into something human-friendly like 'a minute ago'.hh: hour of day on 12-hour clock, zero-padded, '02'.HH: hour of day from 0-24, zero-padded, '14'.Here's a list of commonly used time format tokens. For example, here's how you can display a date's time in 2:04pm format: const moment = require( 'moment') Ĭonst m = moment( new Date( '1 14:04:03')) You can display just the date component, just the time component, or a combination The format() function is very flexible, so M.format( 'LL') // 'June 1, 2019' // Set the Moment locale to Germany moment.locale() // 'en' let m = moment( new Date( '1')) The L and LL tokens to get a locale-specific formatting of the date. You can escape moment tokens using square brackets. However, you'll get a surprising output: 'T126 1st of June'. Naively you might try the below format: // 'T126 1st of June' For example, if you want a more elaborate date like 'The 1st of June', Sometimes you want to add text to the format string that conflicts with a moment Here's some common date formats and how to express them in Moment format strings: Do: Day of the month with numeric ordinal contraction '1st'.MM: Month of the year, zero-padded '06'.Below are some commonly used formatting tokens for dates: ![]() Or 'd' that Moment knows to replace with a part of the date, like the year or theĭay of the month. The format() function takes in a string and replaces all instances of tokens with the corresponding date value. Human-readable format: const moment = require( 'moment') For example, here's how you would convert a YYYY-MM-DD string into a more Moment is the de facto choice for converting dates to neatlyįormatted strings in JavaScript, although some people opt out of using Moment to reduce bundle size. The built-in toLocaleString() function's options syntax is limited and filled with odd quirks. But most JavaScript developers would consider that masochism.
0 Comments
Leave a Reply. |