是否可以在 javascript
或 jquery
中执行以下 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/