随着时间的流逝,我的弦乐变得越来越奇怪。这样的东西-"2.23:59:59.99"
。这意味着点之前的第一个数字是天数(2天),另一个是时间数-23小时59分59秒和9900毫秒(或可能是99毫秒)。因此,我需要将其转换为十进制数字,例如2.99
。我该如何使用moment.js?
答案 0 :(得分:3)
您可以简单地从"2.23:59:59.99"
字符串中create持续一会儿
从 2.1.0 版本开始,此刻支持解析ASP.NET样式的时间跨度。支持以下格式。
格式是小时,分钟,第二个字符串,中间用冒号隔开,例如
23:59:59
。天数可以像这样7.23:59:59
前面加上点分隔符。23:59:59.999
也支持部分秒。
,然后使用asDays()
moment.duration().asDays()
获得持续时间的长度,以天为单位。
要从"2.23:59:59.99"
返回2.99
,可以使用moment.duration(Number, String)
创建一个持续时间,并使用format()
插件的moment-duration-format方法(使用{{ 3}}参数)
// 2.23:59:59.99 to 2.99
const dur1 = moment.duration("2.23:59:59.99");
const durAsDays = dur1.asDays();
console.log(durAsDays);
// 2.99 to 2.23:59:59.99
const dur2 = moment.duration(durAsDays, 'days');
console.log(dur2.format("d.HH:mm:ss", 2));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-duration-format/2.2.2/moment-duration-format.min.js"></script>
答案 1 :(得分:0)
using (var matFromPng = Imgcodecs.Imread(cachedFileName, Imgcodecs.ImreadColor))
using (var vect = new MatOfByte())
{
if (Imgcodecs.Imencode(".jpg", matFromPng, vect))
{
var stream = new MemoryStream(vect.ToArray());
// Do something with your stream...
cachedFileName = Path.Combine(CacheDir.AbsolutePath, "her.jpg");
using (var cacheFilestreamToJpeg = new FileStream(cachedFileName, FileMode.Create, FileAccess.Write))
{
stream.CopyTo(cacheFilestreamToJpeg);
}
stream.Dispose();
}
}
请参考Moment JS .asDays()方法