c# - 在 JavaScript 中将 C# .NET DateTime.ticks 转换为天/小时/分钟

标签 c# javascript .net datetime

在我的系统中,我在 Ticks 中存储了一个持续时间,它被传递到我的客户端移动应用程序,我想从那里将​​ ticks 转换为人类可读的形式。就我而言,天数、小时数和分钟数。

我的客户端移动应用程序是使用 Javascript 编码的,因此这就是我用来将持续时间转换为天/小时/分钟的方法。

最佳答案

在 C# .NET 中,一个滴答声代表一百纳秒,或百万分之一秒。 [Source] .

因此,为了根据滴答数(四舍五入到最接近的整数)计算天数,我首先通过乘以一千万来计算秒数,然后将其乘以秒数一天(每分钟 60 秒,每小时 60 分钟,一天 24 小时)。我使用模数运算符 (%) 来获取构成小时和分钟持续时间的余数。

var time = 3669905128; // Time value in ticks
var days = Math.floor(time/(24*60*60*10000000)); // Math.floor() rounds a number downwards to the nearest whole integer, which in this case is the value representing the day
var hours = Math.round((time/(60*60*10000000)) % 24); // Math.round() rounds the number up or down
var mins = Math.round((time/(60*10000000)) % 60);

console.log('days: ' + days);   
console.log('hours: ' + hours);   
console.log('mins: ' + mins);

因此,在上面的示例中,刻度数相当于 6 分钟(四舍五入)。

再举一个例子,有 2,193,385,800,000,000 个节拍,我们得到 2538 天 15 小时 23 分钟。

关于c# - 在 JavaScript 中将 C# .NET DateTime.ticks 转换为天/小时/分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15486299/

相关文章:

c# - 从 javascript 以编程方式设置请求 ["__EVENTTARGET"]

c# - 使用 AutoMapper 映射未知类型

c# - 使用 C# 将时间转换为定时器间隔

c# - 对于 Windows 服务,等待旋转或计时器哪个更好?

javascript - 如何避免特定类应用css

php - Google 重新定位和转化跟踪代码实现

c# - 将枚举属性从一个类复制到另一个类

c# - 使 CollectionViewSource 无效

c# - Log4net SmtpAppender 不工作

c# - 要么或要求验证