当前位置: 首页 > 知识库问答 >
问题:

将时间 xx:xxam 或 xx:xxpm 转换为 ISOString [重复]

慕凡
2023-03-14

是否有一种已知的方法可以将<code>10:12 am

到目前为止,我试图检测时间是上午还是下午,然后删除最后 2 个字符。之后,我只是附加新的日期字符串,例如:

export function timeAMPMToISO(time) {
    var newTime = time.slice(0, -2)
    var isAmPm = time.substr(-2)
    var h = parseInt(newTime.split(':')[0])
    var m = newTime.split(':')[1]
    var date = new Date().toISOString().substring(0, 11);
    if(isAmPm === 'pm'){
        if(h === 12){
            h = h
        }else{
            h += 12
        }
    }
    h = (isAmPm === 'am' && h === 12) ? '00' : h;
    return `${ date }${ h }:${ m }:00.000Z`;
}

我有种感觉,这不正常。

是否有用于此的现有库MomentJs也许?如果是,怎么办?

谢谢

共有1个答案

淳于烈
2023-03-14

您可以使用< code>moment (String,String)解析输入,然后使用< code>toISOString()。

您的代码可以如下所示:

moment('10:12am', 'hh:mma').toISOString()

hh 令牌匹配 1-12 小时,mm 匹配 0-59 分钟,匹配上午/下午

 类似资料:
  • 我有一个熊猫列,其中包含时间数据和列数据类型是对象。 如何将列转换为Datatime

  • 我有一个表单输入,我认为用户只需将日期插入为YYYYMMDD是最简单的,所以我想知道如何将用户输入转换为Unix时间? 我想也许我需要使用<code>t,_=time.Parse(…)

  • 我正在尝试将pst时间戳转换为Java的gmt 我有一个时间戳为的字符串。我如何处理该字符串并将其转换为gmt时间戳? 我做了一些我想做的事,但还没去任何地方 结果是:

  • 问题内容: 我正在使用Joda 2.5 将Joda LocalDate转换为LocalDateTime时遇到问题。 作为,我能够将TimeDateTime的LocalDate转换为DateTime。我想要相同的功能,但要通过LocalDateTime对象。 我的代码是: 假设Date来自不同的REST服务,例如 现在,此日期将传递到其他服务,如下所示: 我想要LocalDateTime对象,因为我

  • 问题内容: 我有一个UTC时间(纪元Unix时间),其格式设置为时间戳,如下所示。 (人类可读的值:2017年5月31日09:57:00) 我需要将格式化为Unix时间的时间戳转换为GPS时间格式,如下所示。 (人类可读的值:2017年5月31日09:57:00) 我需要一个python程序(算法对我来说很好)将Unix时间格式的时间戳转换为GPS时间格式的时间戳。 有一个PHP程序可以这样做。我

  • 问题内容: 我已经尝试过一百万种不同的方法,但是没有用。任何帮助将非常感激。 上面的方法不起作用。 基本上,我想做的是获取纪元时间并将其转换为澳大利亚时间。我的当地时间是+05.30,但是我当然不希望这成为促成这种转化的因素。 编辑- 当我运行您的确切代码时,输​​出 时代1318388699000 2011年10月12日星期三08:34:59 GMT + 05:30 12/10/2011 03: