.NET에서 TimeSpan 곱하기
C #에서 TimeSpan 개체를 어떻게 곱합니까? 변수 duration
가 TimeSpan 이라고 가정하면 예를 들면 다음과 같습니다.
duration*5
그러나 "연산자 *는 TimeSpan 및 int 유형에 적용 할 수 없습니다"라는 오류가 발생합니다. 내 현재 해결 방법은 다음과 같습니다.
duration+duration+duration+duration+duration
그러나 이것은 정수가 아닌 배수로 확장되지 않습니다. duration * 3.5
TimeSpan duration = TimeSpan.FromMinutes(1);
duration = TimeSpan.FromTicks(duration.Ticks * 12);
Console.WriteLine(duration);
복사 및 붙여 넣기를 원하는 경우 :
namespace Utility
{
public static class TimeSpanExtension
{
/// <summary>
/// Multiplies a timespan by an integer value
/// </summary>
public static TimeSpan Multiply(this TimeSpan multiplicand, int multiplier)
{
return TimeSpan.FromTicks(multiplicand.Ticks * multiplier);
}
/// <summary>
/// Multiplies a timespan by a double value
/// </summary>
public static TimeSpan Multiply(this TimeSpan multiplicand, double multiplier)
{
return TimeSpan.FromTicks((long)(multiplicand.Ticks * multiplier));
}
}
}
사용 예 :
using Utility;
private static void Example()
{
TimeSpan t = TimeSpan.FromSeconds(30).Multiply(5);
}
t
150 초로 끝납니다.
TimeSpan
구조에 대한 과부하 제공하지 않습니다 *
당신이 자신을 할 필요가 있으므로, 연산자를 :
var result = TimeSpan.FromTicks(duration.Ticks * 5);
TimeSpan의 내부 데이터, 즉 틱을 사용할 수 있습니다.
TimeSpan day = TimeSpan.FromDays(1);
TimeSpan week = TimeSpan.FromTicks(day.Ticks * 7);
진드기 사용 :
TimeSpan.Multiply
.NET Core에 도착했으며 .NET Standard 2.1에 도착할 것으로 보입니다.
https://docs.microsoft.com/en-us/dotnet/api/system.timespan.op_multiply?view=netstandard-2.1
var result = 3.0 * TimeSpan.FromSeconds(3);
You need to specify which member it is you want to multiply by 5 -> TimeSpan.TotalMinutes * 5
The problem here is that you want to multiply timespan. The simplest workaround is to use ticks. eg.
var ticks = TimeSpan.FromMinutes(1).Ticks;
var newTimeSpan = TimeSpan.FromTicks(ticks*5);
참고URL : https://stackoverflow.com/questions/9909086/multiply-timespan-in-net
'developer tip' 카테고리의 다른 글
Bash에서 따옴표로 묶인 문자열에서 줄 바꿈을 어떻게 유지합니까? (0) | 2020.09.24 |
---|---|
Android TextView에서 HTML의 인라인 이미지를 표시 할 수 있습니까? (0) | 2020.09.24 |
String과 String.valueOf 로의 캐스팅의 차이점 (0) | 2020.09.24 |
PHP에서 세 점 (…)의 의미 (0) | 2020.09.24 |
일반 확장 메서드 내에서 문자열 열 이름을 사용하여 IQueryable에 OrderBy를 적용하려면 어떻게해야합니까? (0) | 2020.09.24 |