【问题标题】:Subtracting a two time values in ballerina在芭蕾舞演员中减去两个时间值
【发布时间】:2018-09-03 08:12:06
【问题描述】:

我正在尝试计算两个时间值之间的差异,以获得 Ballerina 中的分钟差异。

例子

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

然后我想得到两次的差,这样:

timeDifference = timeOut - timeIn
timeDifference = 15 minutes

如何在芭蕾舞演员中实现这一点,我的timeIn 是用户登录的当前时间,timeOut 是用户注销的当前时间。我怎样才能在分钟内得到差异

谢谢

【问题讨论】:

    标签: ballerina


    【解决方案1】:

    这是一个以分钟为单位的示例代码。

    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);
    }
    

    【讨论】:

    • 感谢您的帮助,我将在此示例中实现它
    【解决方案2】:

    执行此操作的一种方法是将两次转换为纪元时间减法并转换回分钟。您可以参考这里了解更多信息。

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

    例如:您可以像下面这样获得纪元时间,

    int timeValue = time.time;
    

    【讨论】:

    • 谢谢,我也试试这个方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-30
    • 2019-06-02
    • 2018-11-10
    • 2023-04-04
    相关资源
    最近更新 更多