Вычитание двух значений в балерине - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь вычислить разницу между двумя значениями времени, чтобы получить разницу в минутах в балерине.

Пример

 If timeIn = 09:40:00 (HH:MM:SS)    and    timeOut = 09:55:00 (HH:MM:SS)

Тогда я хочу получить разницу в два раза, такую:

timeDifference = timeOut - timeIn
timeDifference = 15 minutes

Как мне добиться этого в балерине, где мой timeIn - это текущее время, когда пользователь входит в систему, а timeOut - текущее время, когда пользователь выходит из системы. как я могу получить разницу в минутах

Спасибо

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Вот пример кода, который дает разницу в минутах.

import ballerina/time;
import ballerina/io; 

function main(string... args) {
  time:Time t1 = time:parse("09:40:00", "HH:mm:ss");
  time:Time t2 = time:parse("09:55:00", "HH:mm:ss");
  int timeDiffInMillSeconds = t2.time - t1.time;
  int timeDiffInMinutes = timeDiffInMillSeconds/60000;

  io:println(timeDiffInMinutes);
}

Если вам нужно получить разницу между двумя временными метками, вы можете просто использовать функцию currentTime вместо parse () следующим образом.

import ballerina/time;
import ballerina/io; 

function main(string... args) {
  time:Time t1 = time:currentTime();
  time:Time t2 = time:currentTime();
  int timeDiffInMillSeconds = t2.time - t1.time;
  int timeDiffInMinutes = timeDiffInMillSeconds/60000;
  io:println(timeDiffInMillSeconds);
  io:println(timeDiffInMinutes);
}
0 голосов
/ 03 сентября 2018

Один из способов сделать это - преобразовать два раза в вычитание времени эпохи и преобразовать обратно в минуты. Вы можете сослаться на это для получения дополнительной информации.

https://ballerina.io/learn/api-docs/ballerina/time.html

Пример: Вы можете получить время эпохи, как показано ниже,

int timeValue = time.time;
...