ããã«ã€ããŠã¯ã以åã«ïŒ463ãšïŒ879ã§è§ŠããŸããããããèªäœã®åé¡ã§çŽæ¥è©±ããããšã¯ãããŸããã
æ¥ä»ã®ãã©ãŒããããšåæ§ã®æéã®ãã©ãŒãããæ¹æ³ãå¿ èŠã§ãã ããã¯æ¬¡ã®ããã«åçŽã§ãªããã°ãªããŸããïŒ
moment.duration(x).format("H:mm:ss")
ãã©ãŒãããããŒã¯ã³ã¯ãæå»ã§ã¯ãªãçµéæéãè¡šããŠããããããããã«ç°ãªãæå³ãæã€å¿ èŠãããããšã«æ³šæããŠãã ããã ç§ã¯æ¬¡ã®ããšãææ¡ããŸãïŒ
hh
ã¯ããæ¥æ°ãèæ
®ããåŸã®æ®ãæéããæå³ããŸãh
ã¯ã hh
ã®1æ¡ã®åœ¢åŒã«ãªããŸãHH
ã¯ãåèšæéããæå³ããŸãH
ã¯ã HH
ã®1æ¡ã®åœ¢åŒã«ãªããŸãHHH
ã¯ããå°æ°ãå«ãåèšæéããæå³ããŸãããã ããçŸåšã¯duration.asHours()
ã§å®è¡ã§ãããããããã¯å¿
èŠãªãå ŽåããããŸããåæ§ã®ãã©ãŒããããä»ã®ãŠãããã«ãé©çšãããŸãã ãã®ã³ã³ããã¹ãã§ã¯ãæé«åäœã¯ãæ¥ãã§ãããããã¯24æéã®æšæºæéã§æ§æãããæšæºæ¥ã§ãã äºå®è¡šã®åé¡ããããããããã§å¹ŽãŸãã¯æã枬å®ããããšã¯æå³ããããŸããã
ããã¯æè¿ïŒåã³ïŒãã®è³ªåã®StackOverflowã§åãäžããããããšã«æ³šæããŠãã ããã ãŠãŒã¶ãŒã¯duration.format("H:mm:ss")
ã®ãããªãã®ãæ¢ããŠããŸããã ããã¯åé¿çã§ãïŒ
Math.floor(duration.asHours()) + moment.utc(duration.asMilliseconds()).format(":mm:ss")
ããã¯æ©èœããŸãããããããŒãªæããããŸãã ããã¯çµã¿èŸŒã¿ã§ããå¿ èŠããããŸãã
+1
moment.duration(x).format("H:mm:ss")
ã¯ããããæ©èœããªãããšãç解ããåã«ããŸãã«ç§ãæåŸ
ããŠãããã®ã§ããã Mattã«ãã£ãŠææ¡ãããåé¿çã¯ããŸãæ©èœããŸããããmomentjsã®ä»ã®ãã®ã®åªé
ããšæ¯èŒãããšã確ãã«ããããŒã«èŠããŸãã
ãã£ãã»ãããããããªãã§ãã
moment.utc(total.asMilliseconds()).format("HH:mm:ss");
ãã以å€ã®
Math.floor(duration.asHours()) + moment.utc(duration.asMilliseconds()).format(":mm:ss")
@ RobinvdVleuten-çŸåšã®ãã©ãŒããã¿ã§HH
ã䜿çšããå Žåã®åé¡ã¯ãå®å
šãªæ¥ä»ãšæå»ã®æé_éšå_ãè¡šãããšã§ãã _çµé_æéãåŠçããå Žåã24æé以äžãããå¯èœæ§ããããŸãã 24æéçµéãããšããŒãã«ãªã»ãããããããšãããããŸãã
確ãã«æ°ã¥ããŸããã çŸåšãèšç®ãããããªç§ã䜿çšããŠãã©ãŒãããããŠããŸãããããã§ãããããŒãªåé¿çã§ãã
æ®ãã®å¯èœæ§ã®ãã¬ãã«ãã¯1ã€ã ãã ãšæããŸããïŒããšãã°ããæãèæ ®ããŠããæ°æéåŸããšèšãæ¹æ³ã¯ãããŸãããïŒ ããã¯å®å šã«åççãªå¶éã ãšæããŸãããã¡ãã£ãšã ãåŸãåãããã«ã次ã®ãããªãã¢ã³ã«ãŒãåŒæ°ãæäŸããããšãæ³åã§ããŸãã
moment.duration(x).format("hh:mm:ss", "M");
ããã¯ãæéã¯æãæ³ãšããŠãã¹ãã§ããããšã瀺ããŠããŸãã ã¢ã³ã«ãŒã¯ãªãã·ã§ã³ã§ãããããã©ã«ãã§æ倧åäœã«1ãµã€ãºäžïŒãã®å Žåã¯æ¥æ°ïŒãå ãããã®ã«ãªããŸãã åæ§ã«ãæååèªäœã䜿çšããŠãåãæéãšç§ã®ã¢ãžã¥ãã§ãããšå€æã§ããŸãã äžæ¹ããããè¡ã£ãå ŽåïŒ
moment.duration(x).format("hh:ss");
...ç§ã¯æéãæ³ãšããŠèšç®ãããŸãã
ããã¯ãããããã¹ãŠçŽ æŽãããã¢ã€ãã¢ã§ã¯ãããŸãã-ããã¯è§£æ±ºãããŠãããïŒãã®éå±€ã®ã©ãã«äœé±éãããã®ã§ããïŒïŒãããããäžèŠã§ãïŒäººã ã¯ãã®ãããªç©Žãæãã§ããªãå¯èœæ§ããããŸãïŒã ããããèããã®ã¯æ¥œããã
ãã£ãšæ·±å»ãªããšã«ããã®å°æå/倧æåã®è¡šèšã§æãšåãã©ã®ããã«åŠçããŸããïŒ
ç§ã¯ãæ¥ãæ倧åäœãµã€ãºã«ãªãããšãæ³å®ããŠããã®ã§ãæã¯ç»åã«è¡šç€ºãããŸããã åºæ¬çã«ãããã¯asp.netã®ã¿ã€ã ã¹ãã³ããã®æéã解æããæ¹æ³ã®éã§ãã
çã«ããªã£ãŠããŸãã
ç§ã¯SCORM2004 RTEïŒp77ïŒããã¥ã¡ã³ããèªãã§ããŸãããæéééã®è¡šçŸã¯æ¬¡ã®ãšããã§ããããšãããããŸãããããã¯æšæºããã®ãã®ã ãšæããŸãã
çè«çã«ã¯ã次ã®ãããªå€ãæž¡ãããšãã§ããŸãïŒP34H
ããŒãµãŒã¯ããã1æ¥ãš10æéãšè§£éããå¿
èŠããããŸã
ããã念é ã«çœ®ããŠåºåããã©ãŒãããã§ããããšãé¡ã£ãŠããŸã
ãPHMãã®ããã«
ãããŠãã©ãŒããã¿ãŒã¯ãããæ®ãæéã®åèšåãšããŠè§£éããŸããïŒ
HHïŒMMã®ããã«åºåããã©ãŒãããã§ããããã«ããã
ãã®æ å ±ãã圹ã«ç«ãŠã°å¹žãã§ã
timeintervalïŒsecondã10,2ïŒïŒtimeintervalïŒsecondã10ã2ïŒã¯ã
ããŒã¿ã¢ãã«èŠçŽ ã®timeintervalã¯ã0.01ã®ç²ŸåºŠã§çµéæéãè¡šããŸãã
ç§[1]ã SCORMãããè¡šèšãã€ã³ãã£ã³ã°ã¯ã
æéééãè¡šãæååã
æååã®åœ¢åŒã¯æ¬¡ã®ãšããã§ãã
P [yY] [mM] [dD] [T [hH] [nM] [s [.s] S]]ããã§ã
â¢yïŒå¹Žæ°ïŒæŽæ°ã> = 0ãå¶éãªãïŒ
â¢mïŒææ°ïŒæŽæ°ã> = 0ãå¶éãªãïŒ
â¢dïŒæ¥æ°ïŒæŽæ°ã> = 0ãå¶éãªãïŒ
â¢hïŒæéæ°ïŒæŽæ°ã> = 0ãå¶éãªãïŒ
â¢nïŒåæ°ïŒæŽæ°ã> = 0ãå¶éãªãïŒ
â¢sïŒç§æ°ãŸãã¯ç§ã®å°æ°éšïŒå®æ°ãŸãã¯æŽæ°ã> = 0ãã§ã¯ãªã
å¶éä»ãïŒã 1ç§ã®ç«¯æ°ã䜿çšãããå ŽåãSCORMã¯æååãããã«æ¬¡ã®ããã«å¶éããŸãã
æ倧2æ¡ïŒäŸïŒ34.45 âæå¹ã34.45454545 âç¡å¹ïŒã
â¢æåãªãã©ã«æå®åPãYãMãDãTãHãMand Sshallã¯ã
察å¿ãããŒã以å€ã®å€ãååšããŸãã
â¢å€ã®ãŒãããã£ã³ã°ããµããŒããããŸãã ãŒãããã£ã³ã°ã¯å€æŽãããŸãã
æåã®ã»ããã§è¡šãããæ°å€ã®æŽæ°å€ã ã«ãšã£ãŠ
ããšãã°ãPT05Hã¯PT5Hããã³PT000005Hãšåçã§ãã
äŸïŒ
â¢P1Y3M2DT3Hã¯ã1幎ã3ãæã2æ¥ãããã³3æéã®æéã瀺ããŸãã
â¢PT3H5Mã¯ã3æé5åã®æéã瀺ããŸã
å®è£
è
ã¯ããã©ãŒããããšãã€ã³ãã£ã³ã°ã
SCOãšLMSã®éã®ããŒã¿ã 圢åŒã¯æéãè¡šããŠããããã
ãã®å ŽåãPT5Mã®ãããªæéã¯PT300Sãšåçã§ãã
ã¿ã€ãtimeintervalïŒsecondã10,2ïŒã®ããŒã¿ã¢ãã«èŠçŽ ã«å€ãå«ãŸããŠããå Žåã
â¢æå®è
Pshallãååšããå¿
èŠããããŸãã
â¢å¹Žãæãæ¥ãæéãåããŸãã¯ç§ã®å€ããŒãã®å Žåãå€
ããã³å¯Ÿå¿ããæåãªãã©ã«ã®æå®ã¯çç¥ã§ããŸãããå°ãªããšã1ã€ã¯çç¥ã§ããŸãã
æåãªãã©ã«æå®åãšå€ã¯ãæå®åã«å ããŠååšããå¿
èŠããããŸã
P;
â¢ãã¹ãŠã®æéã³ã³ããŒãã³ãïŒæéãåïŒã®å Žåãæå®åTsã¯çç¥ãããŸãã
ããã³ç§ïŒã¯äœ¿çšãããŸããã ãŒãå€ã¯ãã€ã§ã䜿çšã§ããŸã
ã³ã³ããŒãã³ãïŒPT0Sãªã©ïŒã
æéã®ãã©ãŒãããã¯åªããè¿œå ã§ãã 2ã€ã®ç°ãªããæéãããŒã¯ã³ã¯å¿ èŠãããŸããã 32æéã®æéãæ³å®ããŸãã 1æ¥ãæœåºããã«ã8æéã ããæœåºãããã¯ãããŸããã
@icambronã«ã¯è¯ãææ¡ããããšæããŸãã ãã©ãŒãããæååãããŒã¯ã³ã«è§£æããæéãæ倧åäœã§è¡šããŸãã ããŒã¯ã³ãäžåºŠã«1ã€ãã€é çªã«è§£æããŸãïŒããšãã°ããDDïŒhhïŒssãã¯ãå®å šãªæ¥æ°ãæ¥æ°ãèæ ®ããåŸã®å®å šãªæéæ°ãæ¥æ°+æéãèæ ®ããåŸã®å®å šãªç§æ°ãæå³ããŸãïŒã
moment.duration.formatãã©ã°ã€ã³ãæçš¿ããŸããïŒ
https://github.com/jsmreese/moment-duration-format
ãã®ã¹ã¬ããã®ã»ãšãã©ã®ã¢ã€ãã¢/ãŠãŒã¹ã±ãŒã¹ã«å¯Ÿå¿ããŠãããšæããŸãã
@jsmreeseãã©ã°ã€ã³ãmomentjsã®ã³ã¢éšåãšããŠå«ããã«ãªã¯ãšã¹ããæåºããããšãæ€èšããŸãããïŒ
@hotzenklotzã¯ãããã«ãªã¯ãšã¹ãã®æåºãæ€èšããŸããã
@icambronãïŒ1538ã«é 眮ããããã¹ãŠã®çç±ã®ããã«ãç§ã¯ããããŸããã§ããã
ç§ã®ãã©ã°ã€ã³ïŒ
ãã©ã°ã€ã³ãMoment.jsã³ã¢ã®äžéšã«ãªãããšã_倧奜ã_ãšæããŸã...ãããããããã®åé¡ã解決ãããåã«ããã«ãªã¯ãšã¹ãã§æéãç¡é§ã«ããã€ããã¯ãããŸããã
ãŸããã³ãŒããåœéåã§ããããã«ããå¿ èŠããããŸãã 幞ããå¿ èŠãªæååã®ã»ãšãã©ã¯Unicode CLDRã«å«ãŸããŠããããã翻蚳äœæ¥ã¯ã»ãšãã©å¿ èŠãããŸããã
CLDRã«ã¯ãç¹å®ã®çš®é¡ã®ééããã©ãŒãããããæ¹æ³ã«é¢ãããã±ãŒã«åºæã®æšå¥šäºé ããããŸããããã¯ãä»»æã®æéãã©ãŒãããããã圹ç«ã€å¯èœæ§ããããŸãã ãããããã«ã©ã®ããã«é©åãããã¯ããããŸãããã2ã€ã®ç¹å®ã®æéã®éã®ãã±ãŒã«åºæã®ééãèªåçã«è¡šç€ºã§ãããšäŸ¿å©ãªå ŽåããããŸãã
CLDRã«ã¯ãç¹å®ã®æéééïŒæéã§ã¯ãªãïŒã衚瀺ããæ¹æ³ã«é¢ããæ å ±ããããŸããããã¯ãããæç¹ã§åœ¹ç«ã€å¯èœæ§ããããŸã...
Lo-DashãŸãã¯Underscoreãžã®ä»¥åã®äŸåé¢ä¿ãåé€ããMomentDurationFormatã®æ°ããããŒãžã§ã³ãå ¬éããŸããã
@jsmreeseç§ãã¡ã®ããŒãºã«å®å šã«é©åããŸãã ããããšãïŒ
+1
+1
+1
+1
+1
+1
+1
+1
ãã®åé¡ã«ã€ããŠã¯å£ããèšé²ã®ããã«èããããããããŸãããã解決çãå¯èœãªéãæ¢åã®èŠåã«åŸããç°¡åã«åœéåã§ããããã«ããããšæããŸãïŒäžè¬çã«äœ¿çšãããæé圢åŒã®LLLL
ã«é¡äŒŒããèšå·ã®è¿œå ãå«ãïŒ ã
ããåä»ãªããšã«ãCLDRã¯ãä»ã®å Žæã§ç¬éçã«åœ¹ç«ã€å¯èœæ§ã®ããåºç¯ãªçžå¯Ÿçãªæéãšééã®ã¬ã€ãã©ã€ã³ããããŸãããæéããã©ãŒãããããããã®å€ãã®ç¹å®ã®ã¬ã€ãã©ã€ã³ãæäŸããŠããŸããã ãã ããæéåäœã®æå°éã®ã¬ã€ãã©ã€ã³ãšç¿»èš³ãæäŸãããŠããããã humanize()
ã®ãããªãã®ãå®è£
ãããšãã«ãé¢é£ããåäœãé£çµã§ããŸãã
äžèšã®hh
/ h
æ§æã¯ãISO8601ãCLDRãããã³Apacheã§äœ¿çšããããã©ãŒãããããŒã¯ã³ãã倧ããéžè±ããŠããããã«æããŸããå¯èœãªéãåé¿ããããšæããŸãã
ããè¯ãææ¡ã¯ããã©ãŒããããã¿ãŒã³ã®æãéèŠãªåäœãã¢ãžã¥ããšããŠäœ¿çšããããšãæšæž¬ããããšã§ãããããã£ãŠã h:mm:ss
ã¯ãéåžžã®ãæéã衚瀺ããŸããã24æéãéããæéãã«ãŠã³ãããŸãïŒäŸïŒ26ïŒ30ïŒ00ïŒã "HH:MM:ss"
ã®ãããªãã¿ãŒã³ãã©ã®ããã«èšç®ããã®ãããŸãã¯ãã®ãŠãŒã¹ã±ãŒã¹ã¯ã©ããªãã®ãã¯äžæã§ãã éçºè
ããã®åäœããªãŒããŒã©ã€ãã§ããããã«ããããšãããã°ã®åå ã«ãªããããããã§ãã
ãã©ãã§ãi18nãã®ç²Ÿç¥ãä¿ã¡ãªãããCLDRã¯æ¬¡ã®æé圢åŒãå®çŸ©ããŸãã
h:mm
ïŒh:mm:ss
ïŒm:ss
ïŒLLL
ã®æ¥ä»åœ¢åŒãšåæ§ïŒãæäŸããããšã¯çã«ããªã£ãŠããå ŽåããããŸããæ®å¿µãªãããæéåäœãè¶
ããåäœã§ã®ãã©ãŒãããæéã¯ãåäžã®ãã©ãŒãããæååã§è¡šçŸããã®ã¯éåžžã«å°é£ã§ããïŒèæ
®ããå¿
èŠã®ããè€æ°åã«ãŒã«ã®ãããã§ïŒã 24æéãè¶
ããæéã®ç°¡åã§i18nã«é©ãããã©ãŒãããã æåã®æ¹æ³ã¯ã duration.humanize()
ãæ¡åŒµããŠããã€ãã®è¿œå ãã©ã¡ãŒã¿ãŒãååŸããïŒ463ã®å
ã®ææ¡ãå¹æçã«å®è£
ããããšã§ãã
èŠããã«ãããªãã®èœãšãç©Žãããæœåšçãªè§£æ±ºçãèŠãã®ã§ã duration.format()
ãå®è£
ããã®ã¯è¯ãèãã§ã¯ãªããããããŸããã æåã®çã¯ã duration.humanize()
ãæ¹åããããæéãåãç§ã®ã¿ãç解ããçž®å°ãããduration.format()
ãå®è£
ããããšã§ãã
+1
ããã£ã³ã°ãè¿œå ããããã®ã¯ã€ãã¯é¢æ°ãå¿ èŠãªå ŽåïŒ
function padWithZero(input, length) {
// Cast input to string
input = "" + input;
let paddingSize = Math.max(0, length - input.length);
return new Array(paddingSize > 0 ? paddingSize + 1 : 0).join("0") + input;
}
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
ïŒ+1ïŒ
ïŒ+1ïŒé©ããç¬éã¯ãããããŸãããéåžžããã¯ç§ã«å€±æããããšã¯ãããŸããïŒ
+1äžèšã®moment-duration-formatã䜿çšããŸããããåœéåãããŠããŸããã ç§ã¯æ¥æ°ãåºåããããšããŠããŸãããå®éã«ã¯ã©ãã«ãå¿ èŠãªæãå¿ èŠã«ãªãå¯èœæ§ããããŸãã
ãã®åé¡ã«é²å±ã¯ãããŸããïŒ
+1
+1
+1
+1
ïŒ+1ïŒ
+1
ãªãããã¯ãŸã ã³ã¢ã«ãªãã®ã§ããïŒ
+1 +1 +1 +1 +1
+1
+2
@jsmreese urãã©ã°ã€ã³ã¯i18nããµããŒãããŠããŸããïŒ
@rumeshwick ïŒå€åïŒ ããã¯æ¬åœã«ããªããi18nãã©ã®ããã«ãã£ãŠãããããããŠããªããç§ã®ãã©ã°ã€ã³ã«äœãæåŸ ããŠãããã«äŸåããŸãã
+1
ç§ã¯ããããã®çš®ã®ããããŒãªæ¹æ³ã§å¯èœã§ããããšãç¥ããŸããïŒ
var dur = moment.duration('PT90M');
moment(dur._data).format('[it\'s] D [days and] h [hour]');
ããã«ããã次ã®ããã«ãªããŸãã
ã1æ¥1æéã§ãã
ãã ããã1æ¥90åãã®ãããªå°å·ã¯ã§ããŸããã
ç§ã®ç®çã§ã¯ãããã§ååã§ãã
i18nã¯å«ãŸããŠããŸããããç§ã®å Žåãmoment.jsã§ããã解決ããããããŸããã
ããã«ã¡ã¯ãEmber.JSãã«ããŒãããã«ããŸãïŒ
https://github.com/ember-building-blocks/ember-hbs-date-helpers
+1
@vanthomeã®ããããŒãªæ¹æ³ã®+1ïŒ+1ïŒ
@ jsmreese-ãã©ã°ã€ã³ãmomentcoreã«ããŒãžããããšã«èå³ããããŸããïŒ ããã¯éåžžã«æçšã§ãããéåžžã«ãããããã§ãã
æ°ããES6ã®å®è£ ã«åãããŠåãã©ãŒãããããããã€ãã®åé·ãªæ©èœãç¬éçãªãã®ã«çœ®ãæããå¿ èŠããããŸãããå šäœãšããŠã¯ããªãç°¡åã ãšæããŸãã
@ mj1856ã¯ééããªãèå³ããããŸãã ããã€ã質åãã¡ãŒã«ã§éä¿¡ããŸãã
ããŒãïŒ è¡ãæ¹æ³ã@ jsmreeseãš@ mj1856 !!! ïŒããããããïŒ
@jsmreeseã®ãã©ã°ã€ã³ãmomentjsã«ããŒãžããããšãææ¡ããããã«ããã«æ¥ãŸããã
+1
+1
@jsmreeseã¯æéãçãããã«èŠããã®ã§ããããUp ForGrabsãšããŠããŒã¯ããŸãã åºæ¬çã«ãææ¡ãããPRã¯ã @ jsmreeseã®moment-duration-formatãã©ã°ã€ã³ã®ãã¹ãŠã®æ©èœãå®è£ ããå¿ èŠããããŸãããmoment.jsã§çŸåšäœ¿çšãããŠããES2015ã¹ã¿ã€ã«ã«æºæ ããæ¢åã®ã¢ãŒã¡ã³ããã§ããã ãå€ãåå©çšããå¿ èŠããããŸããã³ãŒããµã€ãºãæå°åããjsæ©èœã
+1
@jsmreeseã®moment-duration-formatãã©ã°ã€ã³ã«æ¬ ããŠããæ©èœã®1ã€ã¯ããã©ãŒããããããæååããdurationãªããžã§ã¯ããæ§ç¯ããæ©èœã§ãã
ãã@ mj1856 ãç§ã¯ãã©ãŒããããã©ã°ã€ã³ãç¬éã«çµ±åããããšã«åãçµãããšã«èå³ããããŸãã ããã§Up-For-Grabs
ã©ãã«ã䜿çšããŠè²¢ç®ããããšã¯ã©ã®ããã«æ©èœããŸããïŒãããåŠçããŠPRãdevelop
ãã©ã³ãã«éä¿¡ããå¿
èŠããããŸããããããšãä»ã®èª°ããããã䞻匵ããŸããïŒ
@joshrowleyããã¯äž»åŒµãããŠããŸããããããªãããããæãéããã°ããªãã¯ããŒããŒã«ãªãã§ãããã å ã«é²ãã§ãããåããæºåãã§ããããã«ãéä¿¡ããŸãã ããã¯ä»ã®ãã®ãããå°ãé£ããã®ã§ãå¿ èŠã«å¿ããŠãå®äºããåã«ã¬ãã¥ãŒã®ããã«ãã«ãªã¯ãšã¹ããéä¿¡ããŠãã ãã-ç§ãã¡ã¯ãããç£èŠããŸãã ããã§ã©ã€ãã©ãªã®ãµã€ãºãæ¡å€§ããªãããšã«æ°ãé ããŸã-ããã¯ãã§ã«ç§ãã¡ãæãããã倧ããã§ãã æ°ãã€ããŠãã ããã
ãã¶ãç§ããããïŒãŸãã¯ä»£ããã«ïŒåŠçããŸãããæåã«å šäœã®ç¬éã®éçºæ§é ã«é©åãããå¿ èŠããããŸãã
é²è¡äžã®äœæ¥PRïŒïŒ3308
ã¿ãªãããããã«ã¡ã¯ãïŒ3615ã§PRãéå§ããŸããããã²ã泚ç®ããŠãã ããã
ããããããã¯é¢é£ããŠããŸã-çºçããåé¡ïŒ
moment.durationïŒ3500000ïŒ.formatïŒ "hhïŒmm"ã{forceLengthïŒtrue}ïŒ
çµæã衚瀺ããŸãïŒ00ïŒ58ã§ã¯ãªã58
ms = moment(moment().format(),"YYYY-MM-DD HH:mm:ss").diff(moment(time,"YYYY-MM-DD HH:mm:ss"));
var duration = moment.duration(ms);
moment(duration._data).format("HH:mm");
æéããã©ãŒãããããããã®ããã«å¥ã®ããã¯...
var timeInSeconds = 5000;
var formattedDur = moment("1900-01-01 00:00:00").add(timeInSeconds, 'seconds').format("HH:mm:ss");
+1
@fabiogaleraãš@befreestudiosã«ãã£ãŠæçš¿ãããããã¯ã¯ã24æéæªæºã®æéã¯ããŸãæ©èœããŠããããã«èŠããŸãããã©ã¡ãã24æéãè¶ ããæéã¯æ©èœããªãããšã«æ³šæããŠãã ããã
ç·šéïŒããã¯ãå€ãããŒãžã§ã³ã®ã¢ãŒã¡ã³ãã䜿çšããŠããããšãåå ã®ããã§ãã ææ°ããŒãžã§ã³ã§ããäžåºŠè©ŠããŠã¿ãŸããããæåŸ
ã©ããã«åäœããŸãã æ··ä¹±ãããŠç³ãèš³ãããŸããã
-
ãŸãããã®ã¹ã¬ããã®å
é ã«@ mj1856ã«ãã£ãŠæçš¿ãããå
ã®ããã¯ã§ããã€ãã®å¥åŠãªäžžã誀差/ãšããžã±ãŒã¹ãèŠã€ããŸããã ããšãã°ã2.3æéãŸãã¯4.1æéãè©ŠããŠãã ããã ãããã¯10é²å€ã§ãããåæ°ã«åçã«åå²ããå¿
èŠããããŸãã
ããšãã°ã2.3ã¯æ£ç¢ºã«2:18:00ã§ããå¿
èŠããããŸããã2ïŒ17ïŒ59ã«ãªããŸãã ãŸãã4.1ã¯æ£ç¢ºã«4:06:00ã§ããå¿
èŠããããŸããã4ïŒ05ïŒ59ã«ãªããŸãã ããã¯ã duration.asXXX()
ã¡ãœããã«ç²ŸåºŠ/äžžãã®åé¡ããããããšæãããŸãã ä»ã®èª°ãããããèŠãŠãäœãææ¡ããããŸããïŒ
ããããDate.formatïŒhttps://gist.github.com/ptquang86/2893903ïŒã«åºã¥ãduration.formatã®æ©èœã§ãã
moment.duration.fn.format = moment.duration.fn.format || function (mask): string {
// Some common format strings
let formatMasks = {
"default": "DD MM YYYY HH:mm:ss",
shortDate: "M/D/YY",
mediumDate: "MM DD, YYYY",
longDate: "MM DD, YYYY",
fullDate: "DD, MM, YYYY",
shortTime: "H:mm TT",
mediumTime: "H:mm:ss TT",
longTime: "H:mm:ss TT Z",
isoDate: "YYYY-MM-DD",
isoTime: "hh:mm:ss",
isoDateTime: "YYYY-MM-DD'T'hh:mm:ss",
};
let format = function () {
let token = /D{1,2}|M{1,2}|YY(?:YY)?|([HhmsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g;
function pad(val, len?) {
val = String(val);
len = len || 2;
while (val.length < len) val = "0" + val;
return val;
}
// Regexes and supporting functions are cached through closure
return function (date, mask) {
mask = String(formatMasks[mask] || mask || formatMasks["default"]);
let D = date.days(),
m = date.months(),
y = date.years(),
H = date.hours(),
M = date.minutes(),
s = date.seconds(),
L = date.milliseconds(),
flags = {
D: D,
DD: pad(D),
M: m + 1,
MM: pad(m + 1),
YY: String(y).slice(2),
YYYY: y,
H: H % 12 || 12,
HH: pad(H % 12 || 12),
h: H,
hh: pad(H),
m: M,
mm: pad(M),
s: s,
ss: pad(s),
l: pad(L, 3),
L: pad(L > 99 ? Math.round(L / 10) : L),
t: H < 12 ? "a" : "p",
tt: H < 12 ? "am" : "pm",
T: H < 12 ? "A" : "P",
TT: H < 12 ? "AM" : "PM",
};
return mask.replace(token, function ($0) {
return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
});
};
}();
return format(this, mask);
};
䜿çšïŒmoment.durationïŒ10000ïŒ.formatïŒ "hhïŒmmïŒssïŒl"ïŒ
+1
ããã«äœããã¥ãŒã¹ããããŸããããã®æ©èœã¯ããã«å©çšã§ããŸããïŒ ã³ã³ã»ã³ãµã¹ã¯äœã§ããïŒ
+1
ããäžåºŠã¶ã€ããŠã¿ããšããã®ãããªé¢æ°ã䜿ãããã£ã4çªç®ã®ãããžã§ã¯ãã®ããã§ãã ããã«moment.jsã«å®è£ ãããããšãæåŸ ããŠããŸãã
+1
ãã®æ©èœãå®è£ ãããããšãæåŸ ããŠãç§ã¯é·ãéãããç£èŠããŠããŸããã ããã«é¢ããŠé²è¡äžã®äœæ¥ã¯ãããŸããïŒ
ç§ãä»ãããæ©èœããŠããããšãç¥ã£ãŠããéããç§ã¯ãããç§ã®ã¢ããªã«æã£ãŠããŸããããã¥ã¡ã³ãããã§ãã¯ããŠãã ããïŒ
https://momentjs.com/docs/#/durations/
@ luchillo17ããªãã¯ãäžè¬çã«ãåããŠããæéã«ã€ããŠè©±ããŠããã®ã§ããïŒ
ããŠãç§ã¯ã¡ããã©5ååã«è©ŠããŸããããããã¯æ©èœããŠããŸããã
ããŠãããã§è©±ããŠããããšãæ確ã«ãããã£ãã ãã§ãã æéã¯åäœããŸãã ãã®åé¡ã¯ãæéã®ãã©ãŒãããã«é¢ãããã®ã§ãã
ç§ã®æªãããšã«ãã¹ã¬ããã¯ç§ãéäžã§è¿·åã«ãªã£ãã»ã©å€§ããã§ãã
ããããä»ç§ãããèŠããšãããã¥ã¡ã³ãã«ãªã¹ããããŠããç¬éæç¶æéãã©ãŒãããçšã®ãã©ã°ã€ã³ããããŸãïŒ
https://momentjs.com/docs/#/plugins/duration -format /
ããã¯ããªããã¡ãæãã§ããããšã§ããïŒ TypeScriptåã®å®çŸ©ããããããã§ãã
ãããŠãç§ã¯ããããã¹ãããŸãããããªãããŸããããŸãã
ãã©ã°ã€ã³ã¯éåžžã«ããŸãæ©èœããŸãã ãããMoment.jsã«ããŒãžãããã®ãèŠããã§ãã ãããªãã§ã¯ãæéãã©ã®ããã«åœ¹ç«ã€ãããããŸããã
ãã¹ãŠã®äººãdurationã䜿çšããããã§ã¯ãªããããããã¯ãã©ã°ã€ã³ã§ããã³ãŒãããŒã¹ã倧ããããããšãæ£åœåããããã«durationãå¿ èŠãšãããŠãŒã¶ãŒããŒã¹ã¯ããã»ã©å€ããããŸããã
ç¶ç¶æéã¢ãžã¥ãŒã«å šäœããã©ã°ã€ã³ã«å«ãŸããŠããªãããšã«ãé©ããŠããŸãã
ãŸãã¯ãã®ã çŸåšãæéã¢ãžã¥ãŒã«ã¯ç§ã«ã¯ç¡æå³ã§ãã ãã®äžã®ãã¹ãŠã®é¢æ°ã¯ãã©ã€ãã©ãªããªããŠãåé¡ãªãå®è¡ã§ããåçŽãªæ°åŠã§ãã
ãã©ã°ã€ã³ãããŒãžãããå ŽåããããããŸã䜿çšãããŠããããšãããããŸãã
ãã¶ããããããã®æ°åŠãã©ã€ãã©ãªã«é©ããŠãããšã¯èããŠããªãã®ã§ããã¹ãæžã¿ã®ãœãªã¥ãŒã·ã§ã³ãæŠããããªããšç§ã¯ãã®ãããªã¿ã¹ã¯ã«æéãç¡é§ã«ããå¿ èŠã¯ãããŸããã ISO 8601ãdurationsã¢ãžã¥ãŒã«ããããåŠçããŠãããã®ã§ããã®æšæºãã©ã®ããã«å®çŸ©ãããŠããããç¥ãå¿ èŠã¯ãããŸããã
ãã¶ãããã ã
ãããã«ãããããã¥ã¡ã³ãã§ãã©ã°ã€ã³ãåç
§ããããšãææ¡ããŸãã
ããããã°ã人ã
ã¯ãã®æ©èœãããã«ããããšãç¥ã£ãŠãããGoogleã«åºãŠãã®æ©èœãæ€çŽ¢ããå¿
èŠã¯ãããŸããã
確ãã«ããã®ãã©ã°ã€ã³ã»ã¯ã·ã§ã³ãèŠã€ããã®ã«å°ãæéãããããŸããã
4幎çµã£ãŠããªãŒããŒããã®åå¿ã¯ãªãâŠããã¯æ²ããããšã§ã:(
ããã«ã¡ã¯çããã
ããã¯ç§ãã¡ããŸã åãçµãã§ããããšã§ãã ã¢ãŒã¡ã³ãã¯ãã©ã³ãã£ã¢ã³ãã¥ããã£ã§ãïŒ ãã®ãããªæ©èœã«æ¬¡ã®ããããã£ãããããšã確èªããå¿
èŠããããŸãã
1ïŒãã¹ãŠã®ç°å¢ã§æ©èœããŸã
2ïŒã³ãŒãã«ããŸãå€ãã®ãã«ã¯ãè¿œå ããŸãã
3ïŒè»èŒªã®åçºæãããŸããïŒã€ãŸãããããè¡ãããã®ãã©ã°ã€ã³ããã§ã«ãããŸãïŒïŒ
4ïŒæ¢åã®æ©èœãå£ããªã
ããã¯ããæç¹ã§ããŒãžãããå¯èœæ§ããããŸãã
https://github.com/moment/moment/pull/3615
ããã¥ã¡ã³ããæéãã©ãŒããããã©ã°ã€ã³ïŒãŸãã¯ä»ã®ãã©ã°ã€ã³ïŒïŒãããé©åã«æã瀺ãããšãã§ãããšæãããå Žåã¯ãããã«PRãéä¿¡ããŠãã ããïŒ https ïŒ//github.com/moment/momentjs.com/
@marwahaha
ã³ãŒãã«ããŸãå€ãã®ãã«ã¯ãè¿œå ããŸãã
è»èŒªã®åçºæã¯ããŸããïŒã€ãŸãããããè¡ãããã®ãã©ã°ã€ã³ããã§ã«ãããŸãïŒïŒ
ããŠãmomentã©ã€ãã©ãªå
ã«ã¯ãã§ã«duration-formatãã©ã°ã€ã³ãšdurationãããã®ã§ãããããæè¯ã®è§£æ±ºçã¯ãmoment.jsããdurationãå¥ã®ãã©ã°ã€ã³ã«åãåºãããã®ãã©ã°ã€ã³å
ã«ãã¹ãŠã®ãéãããã®ãå®è£
ããããšã§ãã
ããããããšã§ã2ã€ã®ç®æšãéæãããŸãã
1ïŒmoment.jsã®ãµã€ãºãå°ãããã
2ïŒéåžžã«éå®ãããããŒãžã§ã³ã§ã¯ãªããæã䟿å©ãªæ©èœãçŽæ¥äœ¿çšããŠæéãæäŸããŸãã
倧ããªèª²é¡ã®1ã€ã¯ãmoment.jsããµããŒããããã¹ãŠã®ãã±ãŒã«ã§æéã®ãã©ãŒããããå®è£ ããã®ãéåžžã«é£ããããšã§ãã
ãããã®ãã±ãŒã«ãçŸåšã®éãããæéã®ãµããŒãã倱ãããšããMomentãäžéšã®ãã±ãŒã«ã§ã®ã¿æ£ããæ©èœããæ©èœãè¿œå ããããšãæãã§ããŸããã ãã©ã°ã€ã³ã§æéã®ãã©ãŒããããç¶æããããšã¯ãmoment.jsã®ãã³ã¢ããå®å®ãããã¹ãŠã®äººã«æ©èœããããšãä¿èšŒããè¯ãäžéç¹ã®ããã«èŠããŸãããåäžãã±ãŒã«ã®ãŠãŒã¶ãŒã«ã¯ããã±ãŒã«ã«åºæã®æ©èœãå®è¡ãããã©ã°ã€ã³ã䜿çšãããªãã·ã§ã³ãæäŸããŸãã
æéãã©ãŒããããã©ã°ã€ã³ã¯ãã§ã«ååšããããã¥ã¡ã³ãå ã§åç §ãããŠããŸãã ããã§ååã§ãã
@OogieBoogieInJSONãããšãããã¥ã¡ã³ãã¯ããã»ã©åœ¹ã«ç«ã¡ãŸãããåºæ¬çã«ãããã¥ã¡ã³ãå ã®ãã©ã°ã€ã³ã«å°éããåã«ãã®åé¡ã確èªããå¿ èŠããããŸãããå®éã«ããã¥ã¡ã³ãå šäœãèªãã§ã¿ãªãéãããããã®æ©èœã¯ã»ãšãã©å ¬éãããŠããŸããã
@ luchillo17äœããæ±ãåã«ããã¹ãŠã®ããã¥ã¡ã³ããèªãã§ããŸãã ãã¶ããããã¯ç§ã ãã§ãã
ããããããããªããããããã®ã¯çŽ æŽãããããšã§ãã誰ãããããã¹ãã§ãããéçºè ãšããŠã®ç§ãã¡ã®ã»ãšãã©ã¯äŒãäºå®ãããã®ã§ãç§ãã¡ã䜿çšãããã¹ãŠã®ã©ã€ãã©ãªã®ãã¹ãŠã®èŠç¹ãç解ããããšã¯å®çšçã§ã¯ãããŸããã
@ luchillo17管çæåããã°ã©ãã³ã°ãè¡ãã®ã¯ããã¥ã¡ã³ãã®ããã§ã¯ãããŸããã 也æ¯ïŒ
ã¢ãŒã¡ã³ãæéã®ãã©ãŒãããã®ç©èªã«ç¶ã人ã ã®ããã«ãç§ã¯ã¢ãŒã¡ã³ãæéãã©ãŒããããã©ã°ã€ã³ã®ããŒãžã§ã³2.0.0ãå ¬éããŸããã
æ°ããããŒãžã§ã³ã¯ãéå»4幎éã®ã»ãšãã©ãã¹ãŠã®åé¡ã解決/çµã¿èŸŒã¿ãããŒãžã§ã³1ã¯ãããŒã«ãªãŒãŒã·ã§ã³ãšè€æ°åœ¢ã®ãµããŒããããã³ããã€ãã®äŸ¿å©ãªãã©ãŒããããªãã·ã§ã³ãå«ããå®éã«äœ¿çšãããŠããŸããã
ããã§ããããã§ãã¯ããŠãã ããïŒ https ïŒ//github.com/jsmreese/moment-duration-format/releases
æ¬åœã®MVP-> @ jsmreese
ã¯ãã 芪åãªèšèãããããšãã@ OogieBoogieInJSONã
ç§ã®ãã©ã°ã€ã³ã¯ãå€ãã®è²¢ç®è ã¯èšããŸã§ããªããç¬éã®äœæè ãšä¿å®è ã®å€å€§ãªåªåã®äžã«ããããããªãã§ã¯ååšãåŸãªãããšã«æ³šæããã«ã¯ããããŸããã ç§ã4幎åã«äœæãããã®ãå蚪ããããã«ä»æéãåã£ãŠããïŒãããŒãããã¯æ¬åœã«é·ãããšã§ããïŒïŒãã®ãããžã§ã¯ãã®åœŒãã®ç¶ç¶çãªçŸé£Œããšæ¯èŒããŠããªãççŽã«èšã£ãŠéãããŠããŸãïŒ
Aaaaaããã³ããŒãžã§ã³2.1.0ãå
¬éãããŠããŸãã
https://github.com/jsmreese/moment-duration-format/releases
æŽæ°ãããããŒãžã§ã³ã§ã¯ãããŒãžã§ã³2.0ããã®ããã€ãã®åé¡ãä¿®æ£ãããè€æ°ã®æéã®èª¿æŽããããã©ãŒãããã®ããã®æ°ããé¢æ°ã§ããmoment.duration.format
ãå°å
¥ãããŠããŸãã æ¢åã®moment.duration.fn.format
ãšæ··åããªãã§ãã ããã
æ°ããé¢æ°ã¯ãæéã®é åãåãåãããã©ãŒããããããæååã®é åãè¿ããŸããããã¯ãäžè²«ããæ¹æ³ã§äžç·ã«ãã©ãŒãããããå¿ èŠãããæéã®ã°ã«ãŒããããå Žåã«åœ¹ç«ã¡ãŸãã
moment.duration.format([
moment.duration(1, "second"),
moment.duration(1, "minute"),
moment.duration(1, "hour")
], "d [days] hh:mm:ss");
// ["0:00:01", "0:01:00", "1:00:00"]
moment.duration.format([
moment.duration(1, "minute"),
moment.duration(1, "day")
], "w [weeks], d [days], h [hours], m [minutes], s [seconds]", { trim: "all" });
// ["0 days, 1 minute", "1 day, 0 minutes"]
@jsmreese 2.0ã¯ä»¥åã«ããã€ãã®ãšã©ãŒãåŒãèµ·ãããã®ã§ãå®å šã®ããã«1.3.0ã«ããã¯ããå¿ èŠããããŸããããããã§ãæ©èœ/ãããžã§ã¯ããåç¶ãããŠãããŠããããšãã
@prusswanããŒãžã§ã³2.1.0ãè©ŠããŠã¿ãŠãã ããã ããã§ããããã®ãšã©ãŒã衚瀺ããããã©ãããç¥ãããã®ã§ããã
toLocaleString
ã¯å€ãã®ç°å¢ã§å®å
šã«å®è£
ãããŠããªããããmoment-duration-formatã®ããŒãžã§ã³2.2.0ãå
¬éããŸãããããã«ã¯ããã©ãŒã«ããã¯æ°å€åœ¢åŒé¢æ°ãå«ãŸããŠããŸãã
https://github.com/jsmreese/moment-duration-format/releases
ç§ã¯ãOSããŒãžã§ã³ã2.2ãã7ã®ããŸããŸãªAndroidããã€ã¹ãããã³OSããŒãžã§ã³ã4.3ãã11ã®ããŸããŸãªiOSããã€ã¹ã§BrowserStackã䜿çšããŠæ°ããããŒãžã§ã³ããã¹ãããŸããããŸããChromeãFirefoxãIE 8-11ãããã³Edgeãã©ãŠã¶ã
@prusswanãšããŒãžã§ã³ã1.3.0
ã«ããã¯ããªããã°ãªããªãã£ãä»ã®äººã¯ãããŒãžã§ã³2.2.0
ãæçµçã«ããŒãžã§ã³2.0.0ãæ³å®ãããŠããããããã€ã³çœ®æã§ããããšã«æ°ä»ãã§ãããã
ãã®ãã©ã°ã€ã³ã®ããŒãžã§ã³2ã«å¯ŸããŠåé¡ãèšé²ããŠããããã¹ãŠã®äººã«æè¬ããŸãïŒ
moment-duration-formatãã©ã°ã€ã³ã®ããŒãžã§ã³2ãå®è£ ããåŸãããŒãžã§ã³3ã«ã¯æãããªæ¹åãããã€ããããŸãã
以äžã«ç§ã®ã¢ã€ãã¢ããªã¹ããããªããžããªã«åé¡ãšããŠè¿œå ããŸããã èŠãããã®ã«ã€ããŠã®ã¢ã€ãã¢ãã³ã¡ã³ããããã°ãç§ã«ç¥ãããŠãã ããïŒ
ããŸãããã°ã次ã®ããŒãžã§ã³ã¯4ãæã®ãããªãã®ã§å ¬éãããã§ããã...ããŒãžã§ã³2ã4幎éåŸ ã€ã®ã§ã¯ãããŸããã
ãã©ãŒã«ããã¯çªå·ã®æžåŒèšå®ã®ããŒã«ãªãŒãŒã·ã§ã³ãªãã·ã§ã³ã¯ãæéåäœã©ãã«ãããŒã«ã©ã€ãºããããã«ãã§ã«äœæããã¢ãŒã¡ã³ããã±ãŒã«ãªããžã§ã¯ãæ¡åŒµã«å«ãŸããŠããå¿ èŠããããŸãã ããã«ããããã¹ãŠã®ããŒã«ãªãŒãŒã·ã§ã³æ§æã1ãæã«é 眮ãããŸãã
moment-duration-formatãšãã®ãã©ãŒã«ããã¯æ°å€ãã©ãŒãããé¢æ°ã¯ãæå¹æ°åãšæŽŸé¥æ°åã®Number#toLocaleString
ãšåãAPIã«æºæ ããŠããŸããã ãã©ãŒã«ããã¯é¢æ°ã¯toLocaleString
APIã䜿çšããããã«æŽæ°ããå¿
èŠãããããã©ã°ã€ã³ã¯äžéšã®ãªãã·ã§ã³ãé衚瀺ã«ããŠprecision
ã®èåŸã«ãã¹ã¯ããã®ã§ã¯ãªãã toLocaleString
APIãªãã·ã§ã³ãçŽæ¥å
¬éããå¿
èŠããããŸãã useSignificantDigits
ãªãã·ã§ã³ã
ãã©ãŒã«ããã¯çªå·ãã©ãŒãããæ©èœãštoLocaleString
æ©èœãã¹ãæ©èœãå
¬éãããšããã¹ãã容æã«ãªãããã©ãŒãããæéã®ã³ã³ããã¹ãå€ã§äœ¿çšã§ããããã«ãªããŸãã
ã¿ã€ãå®çŸ©ãè¿œå ããŠãTypeScriptããµããŒãããNuGetããã±ãŒãžãå ¬éããæè¿äœ¿çšãããŠããä»ã®ããã±ãŒãžãªãã·ã§ã³ããµããŒãããŸãã ïŒããã¯ããŒãžã§ã³3ãŸã§åŸ ã€å¿ èŠã¯ãããŸãããïŒ
ãã©ã°ã€ã³ã®ãã¹ãã¯ãçæ³çã«ã¯Moment.jsã®ãã¹ãèšå®ãšäžèŽããããã«ææ°åããå¿ èŠããããŸãã ïŒãããããŒãžã§ã³3ãŸã§åŸ ã€å¿ èŠã¯ãããŸãããïŒ
@jsmreese倧å€ãªäœæ¥ã§ãããçæéã§ã¡ãžã£ãŒããŒãžã§ã³ã2åãã³ãããããã«ãã¬ãã·ã£ãŒãæããããšã¯ãŸã£ãããããŸããã æŽæ°ãªãã§4幎çµã£ãŠããŸã 䜿çšãããŠããå Žåã¯ãããããã»ãšãã©ã®å Žåååã§ãã ãã§ã«è§£æ±ºçãããã®ã§ããã®çŸåšã®åé¡ã¯è§£æ±ºã§ãããšæããŸãïŒãã©ã°ã€ã³ã䜿çšããŠãã ããïŒã ãã®æ©èœãç¬éã®äžéšã«ãããã©ããã決å®ããããã«ãæ°ããåé¡ãéå§ã§ããŸãã
@jsmreeseãããã æ¬åœã«ããããšãããããŸããïŒ ç§ã«ãšã£ãŠå€§ããªååŒã§ãããããªãããããã¹ãŠã«æè¬ããŸãã
https://momentjs.com/docs/#/ -project-status /ãåç §ããŠãã ãã
ããã§ã®ãã¹ãŠã®è°è«ã«æè¬ããŸãã
æãåèã«ãªãã³ã¡ã³ã
ãã£ãã»ãããããããªãã§ãã
ãã以å€ã®