0
我需要做的是在24小時時鐘上採取時間窗口,即:1000-1100 將其轉換爲秒數,我可以這樣做。將時間輸入從24小時轉換爲秒,然後再轉換爲24小時格式
(1000/100)* 60 = 600
(1100/100)* 60 = 660
獲取的結果(15),這是我還可以做的25%。 (660/4)
添加額外秒25%至先前的結束時間(1100)
的問題是,我得到的1100的輸出,而不是1115 的問題是我怎麼做它輸出爲1115.
我確實使用常量來定義小時和百年,所以沒有幻數,這些數字只是說明數學。
//define constants
const int HUNDRED = 100;
const int HOUR = 60;
const int PERCENT = 4;
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
// recieve start time input
string oldStart = oldStartTime.Text;
int oldTimeIn = int.Parse(oldStart);
// recieve end time input
string oldEnd = oldEndTime.Text;
int oldTimeEnd = int.Parse(oldEnd);
// convert start time to minutes
int hoursStart = (oldTimeIn/HUNDRED) * HOUR;
int minutesStart = oldTimeIn % HUNDRED;
int totalStart = hoursStart + minutesStart;
// convert end time to minutes
int hoursEnd = (oldTimeEnd/HUNDRED) * HOUR;
int minutesEnd = oldTimeEnd % HUNDRED;
int totalEnd = hoursEnd + minutesEnd;
// calulate 25% of travel time (end - start)
int extraTime = totalEnd - totalStart;
int totalMinutes = (extraTime/PERCENT);
// convert back to hours
int newEndHours = (totalEnd + totalMinutes)/HOUR * HUNDRED;
// out put new end time
newEndTime.Text = $"{newEndHours:d4}";
請告訴我們你的代碼,這將有助於我們找出問題的原因。 –
爲什麼不使用'DateTime'和'TimeSpan'類?不要重新發明輪子:)。 –
我不知道這些是什麼......我真的很新,並且剛剛離開我在在線課程中學到的知識,並且沒有提到有關DateTime和TimeSpan的任何信息。這也是一種形式,如果有幫助 –