javascript - 使用 javascript 或 jquery 计算持续时间

标签 javascript c# jquery

是否可以在 javascriptjquery 中执行以下 c# 逻辑,代码将两个日期之间的持续时间转换为小时、分钟和seconds.the 持续时间 20/01/2017 00:00:00 到 20/01/2017 02:20:30 将是 26:20:30 关于转换为 hh:mm:ss 格式的小时可以超过 24,如果分钟超过 59,则应添加到小时和秒,超过 59 应添加到小时。

public static string ToTimeFormat(bool includeSeconds = false)
{
    var startDate = DateTime.parse("20/01/2017 00:00:00";
    var endDate = DateTime.parse("20/01/2017 02:20:30");
    var ts = endDate - startDate;
    var totalDaysToHours = ts.Days * 24;

    return string.Format("{0}:{1}", (ts.Hours + totalDaysToHours).ToString("0"), 
                                     ts.Minutes.ToString("D2")) 
                                     + (includeSeconds ? ":" + ts.Seconds.ToString("D2") : string.Empty);
}

最佳答案

您可以从这里使用 moment.js moment.min.js下面是代码

var startDate  = "01/02/2016 00:00:00"; //MM/DD/YYYY HH:MM:SS format
var endDate = "01/03/2016 01:30:30"; //MM/DD/YYYY HH:MM:SS format
var diff = moment.duration(moment(endDate).diff(moment(startDate)));
var formatedData=[diff.asHours().toFixed(0), diff.minutes(), diff.seconds()].join(':');

所以你的输出会像

26:30:30

更新

var startDate  = "01/02/2016 00:00:00".split(/\//);
startDate= [ startDate[1], startDate[0], startDate[2] ].join('/'); // DD/MM/YYYY to MM/DD/YYYY
var endDate = "01/03/2016 01:30:30".split(/\//);
endDate = [ endDate[1], endDate[0], endDate[2] ].join('/'); // DD/MM/YYYY to MM/DD/YYYY
var diff = moment.duration(moment(endDate).diff(moment(startDate)));
var formatedData=[diff.asHours().toFixed(0), diff.minutes(),diff.seconds()].join(':');

关于javascript - 使用 javascript 或 jquery 计算持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41775310/

相关文章:

javascript - 单击按钮并执行 Controller 路径时运行 Javascript

c# - 从 if/else 语句中获取值?

c# - 使用 Controller 级别异常日志记录 (IExceptionFilter.OnException) 时会漏掉哪些异常?

c# - 当时间为小数时,如何转换为 DateTime?

asp.net - jQuery:WAITING执行任务直到动画完成

jquery - Ajax请求 'overlapping'

javascript - 如何将值从动态表传递到引导模式

javascript - 如何在javascript中减去小时?

javascript - 如何在对象数组中获取匹配的对象?

javascript - 将 (this.state) 类型变量直接插入 JSX