.Net에서 정규 표현식을 사용하는 방법으로 시간을. "1h 20m"형식으로 두 배로 늘립니다. 여기 있습니다. 자바 스크립트 시간 변환 정규식
public static double? GetTaskHours(this string tmpHours) {
Double taskHours = 0;
if (!string.IsNullOrEmpty(tmpHours) && !double.TryParse(tmpHours, out taskHours)) {
var match = Regex.Match(tmpHours, @"^(?=\d)((?<hours>\d+)(h|:))?\s*((?<minutes>\d+)m?)?$", RegexOptions.ExplicitCapture);
if (match.Success) {
int hours;
int.TryParse(match.Groups["hours"].Value, out hours);
int minutes;
int.TryParse(match.Groups["minutes"].Value, out minutes);
taskHours = (double)hours + (double)minutes/60;
}
}
return Math.Round(taskHours, 3);
}
는 지금은 같은 사용하여 자바 스크립트가 필요합니다.
http://www.w3schools.com/jsref/jsref_regexp_nfollow.asp에 따라 정규식을 변환하려고했지만 내 모든 atempts가 실패했습니다. 나는 정규 표현식이 매우 형편 없다.
여기 내 JS 시도입니다.
function getHours(value) {
var myArray = value.match(/^(?=\d)((\d+)(h|:))?\s*((\d+)m?)?$/g);
var hours = myArray[2];
var minutes = myArray[5];
return Number(hours) + Number(minutes)/60;
}
맞습니까?
제게 보여 주실 수 있습니까?
감사합니다. Dmitry.
예, I've이 권리를 발견 – StNickolas