使用javascript或jquery计算持续时间(Time duration calculation using javascript or jquery)
是否可以在javascript或jquery执行以下c#逻辑,代码将两小时之间的持续时间转换为小时,分钟和秒。持续时间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); }Is it possible to do the below c# logic in javascript or jquery, The code converts duration between two dates int hours,minutes and seconds.the duration 20/01/2017 00:00:00 to 20/01/2017 02:20:30 will be 26:20:30 This about converting to hh:mm:ss format hours can go beyond 24, if minutes are more than 59 it should add to hours and seconds more than 59 should add to hours.
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:30UPDATE
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(':');You can use moment.js from here moment.min.js and below is the code
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(':');so your output will be like
26:30:30UPDATE
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(':');更多推荐
发布评论