在windowsphone中将当前时间转换为毫秒

时间:2013-11-29 12:28:51

标签: windows-phone-7 windows-phone-8 windows-phone

我有这样的时间格式:

 string s = DateTime.Now.ToString();

给我输出像

11/29/2013 6:26:13PM

现在如何在windowsPhone中将此输出转换为毫秒???

更新: 首先,我想保存用户启动我的应用程序时的当前时间。之后,每当用户再次启动我的应用程序时,我也会得到时间并将当前启动时间与先前存储的时间进行比较,并检查时差是否为“一天”。 对于这种比较,我需要将11/29/2013 6:26:13PM转换为毫秒。

另一个问题告诉我如何将“6:26:13 PM”转换为毫秒?

2 个答案:

答案 0 :(得分:1)

如果我理解正确,请执行此操作:

根据您的输入创建日期:

DateTime yourInitialDateTime = DateTime.Parse("11/29/2013 6:26:13PM");

之后

TimeSpan span = DateTime.Now - yourInitialDateTime;

所以在span.TotalDays中你将有多少天过去了。

修改

如果您只有一天中的时间并想知道该时间的毫秒数,您必须添加一个日期并按小时0:00:00减去它:

string dummyDate = "01/01/0001";
DateTime end = DateTime.Parse(dummyDate + " " + "6:26:13PM");
var milli = end.Subtract(new DateTime()).TotalMilliseconds;

就是这样。

答案 1 :(得分:0)

试试这个。

var ThatDay = DateTime.Now.AddDays(-1); //This is hard coded but you have to get from where you are storing.
var Today = DateTime.Now;

var Diff = (Today - ThatDay).Milliseconds;
var FriendlyDiff = (Today - ThatDay).ToFriendlyDisplay(5);

public static class TimeSpanExtensions
{
    private enum TimeSpanElement
    {
        Millisecond,
        Second,
        Minute,
        Hour,
        Day
    }

    public static string ToFriendlyDisplay(this TimeSpan timeSpan, int maxNrOfElements)
    {
        maxNrOfElements = Math.Max(Math.Min(maxNrOfElements, 5), 1);
        var parts = new[]
                    {
                        Tuple.Create(TimeSpanElement.Day, timeSpan.Days),
                        Tuple.Create(TimeSpanElement.Hour, timeSpan.Hours),
                        Tuple.Create(TimeSpanElement.Minute, timeSpan.Minutes),
                        Tuple.Create(TimeSpanElement.Second, timeSpan.Seconds),
                        Tuple.Create(TimeSpanElement.Millisecond, timeSpan.Milliseconds)
                    }
                                    .SkipWhile(i => i.Item2 <= 0)
                                    .Take(maxNrOfElements);

        return string.Join(", ", parts.Select(p => string.Format("{0} {1}{2}", p.Item2, p.Item1, p.Item2 > 1 ? "s" : string.Empty)));
    }
}