标签: timespan

使用Javascript中的时间跨度

已经使用Date.js,但如果需要也可以使用其他库.

不确定使用时间增量的最佳方法是什么.具体来说,我想显示从现在到过去的日期时间之间经过的时间.

所以我需要做这样的事情:

var elapsed_time = new Date() - pastDate;
pastDate.toString('days-hours-minutes-seconds');
Run Code Online (Sandbox Code Playgroud)

得到它主要使用Date.js工作,但问题是现在我正在使用Date对象而不是时间跨度,所以应该是23小时的时间跨度是在Date的第一次之后23小时:

var result = (new Date()) - past_date;
"result" is the number (probably milliseconds): 15452732
var result = (new Date() - past_date
"result" is a date from 1969: Wed Dec 31 1969 23:17:32

我需要的是:

0 days 23 hours 17 minutes and 32 seconds

有任何想法吗?

javascript datetime timespan date datejs

22
推荐指数
4
解决办法
9万
查看次数

将浮点数转换为时间跨度

是否有一种简单的方法来获取float表示小时数的值并将它们转换为TimeSpan对象,反之亦然?例如:

float oneAndAHalfHours = 1.5f;
float twoHours = 2f;
float threeHoursAndFifteenMinutes = 3.25f;
float oneDayAndTwoHoursAndFortyFiveMinutes = 26.75f;

TimeSpan myTimeSpan = ConvertToTimeSpan(oneAndAHalfHours); // Should return a TimeSpan Object
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c# datetime timespan

21
推荐指数
2
解决办法
2万
查看次数

格式化TimeSpan与岁月

我有一个有2个日期属性的类:FirstDayLastDay. LastDay是可以为空的.我想以格式生成一个字符串"x year(s) y day(s)".如果总年数小于1,我想省略年份部分.如果总天数小于1,我想省略日期部分.如果年份或天数为0,则应分别说"天/年",而不是"天/年".

示例:
2.2年:"2年73天"
1.002738年:"1年1
天"0.
2年:" 73天" 2年:"2年"

我有什么作品,但它很长:

private const decimal DaysInAYear = 365.242M;

public string LengthInYearsAndDays
{
    get
    {
        var lastDay = this.LastDay ?? DateTime.Today;
        var lengthValue = lastDay - this.FirstDay;

        var builder = new StringBuilder();

        var totalDays = (decimal)lengthValue.TotalDays;
        var totalYears = totalDays / DaysInAYear;
        var years = (int)Math.Floor(totalYears);

        totalDays -= (years * DaysInAYear);
        var days = (int)Math.Floor(totalDays);

        Func<int, string> sIfPlural = value =>
            value > …
Run Code Online (Sandbox Code Playgroud)

.net c# formatting timespan .net-4.5

21
推荐指数
2
解决办法
3万
查看次数

你能绕过.NET TimeSpan对象吗?

你能围绕.N​​ET TimeSpan对象吗?

我的Timespan值为:00:00:00.6193789

是否有一种简单的方法可以将它保持为TimeSpan对象,但将其舍入为
00:00:00.62?

.net datetime timespan

20
推荐指数
4
解决办法
2万
查看次数

AM/PM to TimeSpan

I want to achieve the converse of this, that is, I want to convert a string with format hh:mm tt to a TimeSpan with zeroed seconds.

For example, 09:45 pm is converted to 21:45:00.

c# datetime timespan

20
推荐指数
2
解决办法
2万
查看次数

为什么使用TimeSpan.CompareTo()而不是<>或=

我一直在浏览Kinect传感器的一些Microsoft代码示例,并且偶然发现了以下行.

TimeSpan zeroDuration = TimeSpan.FromSeconds(0.0);
TimeSpan timeRemaining = ...;

if (timeRemaining.CompareTo(this.zeroDuration) > 0)
{
}
Run Code Online (Sandbox Code Playgroud)

我理解CompareTo()在排序这样的场景中有什么用处,但是为什么它会用在条件if()而不是更直接的方法中呢?

if (timeRemaining > this.zeroDuration)
{
}
Run Code Online (Sandbox Code Playgroud)

PS:如果是来自任何其他来源,我会带着一粒盐,但考虑到代码的一般质量,假设有一个原因

.net c# timespan compareto

20
推荐指数
1
解决办法
1万
查看次数

C#TimeSpan.Parse无效格式返回错误的值而不是异常

TimeSpan.Parse("23:00:00")返回23小时.

TimeSpan.Parse("24:00:00")返回24天!

我意识到我犯了一个错误,因为允许的小时范围是0-23.但是如果你试图解析一个超出范围的值,你会得到一个例外.在超出范围值的小时数的情况下,解析器错误地假设您指的是几天而不是几小时.

有人可以解释一下吗?

这个例子在这里涵盖了这个主题,并指出 http://msdn.microsoft.com/en-us/magazine/ee309881.aspx

TryParse似乎也是如此.尽管文档声明解析失败,但我得到了24天.

http://msdn.microsoft.com/en-us/library/3z48198e

//            String to Parse                TimeSpan
//            ---------------   ---------------------
//                          0        00:00:00
//                         14     14.00:00:00
//                      1:2:3        01:02:03
//                  0:0:0.250        00:00:00.2500000
//             10.20:30:40.50     10.20:30:40.5000000
//        99.23:59:59.9999999     99.23:59:59.9999999
//        0023:0059:0059.0099        23:59:59.0099000
//                     23:0:0        23:00:00
//                     24:0:0   Parse operation failed.
//                     0:59:0        00:59:00
//                     0:60:0   Parse operation failed.
//                     0:0:59        00:00:59
//                     0:0:60   Parse operation failed.
//                        10:   Parse operation failed.
//                       10:0        10:00:00
//                        :10   Parse operation failed.
//                       0:10        00:10:00
//                     10:20:   Parse …
Run Code Online (Sandbox Code Playgroud)

c# timespan

19
推荐指数
1
解决办法
2888
查看次数

C#中的TimeSpan"漂亮时间"格式

输入这个问题的标题让我想到了这个问题.我正在寻找相同的东西,但如果你理解我的意思,可能不那么静态地格式化了什么?

我正在编写一个快速程序,它将使用两个DateTime对象的TimeSpan持续时间并输出它们以便打印到纸上.

首选的格式是:( XX days, YY hours, ZZ minutes秒是无关紧要的;因为我不希望时间跨度超过几个小时).

说下面的代码(作为例子):

DateTime start = DateTime.Now;
DateTime end = DateTime.Now.AddMinutes(135);
TimeSpan duration = (end - start);

// output duration as XX hours, YY minutes
Run Code Online (Sandbox Code Playgroud)

谢谢,
扎克

PS我也跑过" PrettyTime.NET ",但它输出的内容就像"3天前"等等.我在google上找到的其他主题用来格式化持续时间字符串,就像上面的例子一样,这使我得到了一个基于Java的解决方案.:\


更新2014-09-08:

为了在3年后进行跟进,我在NuGet和Github上找到了一个很棒的库,名为" Humanizer ",可以解决我遇到的这个问题.我没有那么多使用它,但我确实尝试了它并且它的工作非常好.它虽然是一个相当大的库(它为你的项目的构建路径发出了不同文化的大量文件夹(我确信有一种方法可以自定义它)).

c# formatting timespan

18
推荐指数
3
解决办法
1万
查看次数

Datetime.now作为TimeSpan值?

我需要当前的Datetime减去myDate1秒.

DateTime myDate1 = new DateTime(1970, 1, 9, 0, 0, 00);
DateTime myDate2 = DateTime.Now;

TimeSpan myDateResult = new TimeSpan();

myDateResult = myDate2 - myDate1;
Run Code Online (Sandbox Code Playgroud)

.
.
我尝试了不同的计算方法但没有效果.

TimeSpan mySpan = new TimeSpan(myDate2.Day, myDate2.Hour, myDate2.Minute, myDate2.Second);
Run Code Online (Sandbox Code Playgroud)

.
它的计算方式并不重要,输出应该只是这些值与秒的差值.

c# datetime timespan seconds

18
推荐指数
4
解决办法
8万
查看次数

计算日期之间的分钟差异

我有以下代码:

DateTime pickerDate = Convert.ToDateTime(pickerWakeupDate.SelectedDate);
string enteredStr = pickerDate.ToShortDateString() + " " + textWakeupTime.Text;
string format = "dd/M/yyyy HH:mm";
DateTime enteredDate = DateTime.ParseExact(enteredStr, format, null);
Run Code Online (Sandbox Code Playgroud)

我面临的问题是,我想现在就确定设定日期和日期和时间之间的差异.然后,该值需要为我提供日期之间的分钟数.

我试过用:

DateTime todaysDateTime = DateTime.Now;
TimeSpan span = enteredDate.Subtract(todaysDateTime);
int totalMins = span.Minutes;
Run Code Online (Sandbox Code Playgroud)

但是0当这个值提前10分钟时,这给了我一个不正确的值.

谁能帮我解决这个问题

谢谢.

c# time datetime timespan date

17
推荐指数
1
解决办法
2万
查看次数

标签 统计

timespan ×10

c# ×8

datetime ×6

.net ×3

date ×2

formatting ×2

.net-4.5 ×1

compareto ×1

datejs ×1

javascript ×1

seconds ×1

time ×1