我在我的专业版中使用谷歌API,它返回此对象:
{" text":" 3小时29分钟","价值":12528}
我使用javascript,如何将文本转换为有效时间以便我可以使用?
答案 0 :(得分:0)
定义有效时间?如果你经过了几个小时或几分钟 - 这一点应该有效。如果您需要更好的正则表达式,请提供更多生成数据的示例。
var myString = yourObject.Text;
var myRegexp = /(\d{1,2})\s[a-z]*\s(\d{1,2})\s[a-z]*/g
var match = myRegexp.exec(myString);
console.log(match[1] + ' ' + match[2]);
如果不明显,则会解析字符串中的小时和分钟,然后将em存储在捕获数组中。然后,您可以使用该数组元素并根据需要形成另一个字符串,然后使用像MomentsJS这样的库将其传输到DateTime或将该时间添加到另一个或其他任何内容。
编辑:做了一个更好的正则表达式,我需要更多的例子,如果这不适合你的所有数据我假设的格式总是小时(0-24或0-12),单个数字写成2或02,然后是文本,然后是分钟(0-59),单个数字写成3或03。
答案 1 :(得分:-1)
您的对象似乎包含人类的价值和与秒相同的价值。要将秒转换为日期对象,只需:
var seconds = json_object['value'];
var date = new Date(seconds * 1000);
这只会将秒数转换为纪元时间。要将其转换为hh:mm:ss格式,最好的想法是使用某种时间管理库,例如Moment.js。但是,在这种特殊情况下,您可以尝试:
var formattedDate = date.toTimeString().split(' ')[0]