首页 > 解决方案 > 变量中的 UWP/C# 日期存储

问题描述

现在,我对 C# 中 Date 的使用遇到了很多不同的反应,从使用:

DateTime.Parse
Date.Now

等等。在我看来,使用时间日期功能的方法有很多。我需要做的是从今天开始读取日、月和年(假设 Date.Now?)并单独存储这些值,以便可以在整个预算中引用它们。

我正在考虑这样做的方式是将 DateTimeStorage 类放在它自己的类文件夹中。这样,我可以在整个项目中的任何时候引用它,对吗?

我遇到的问题是我在类中立即收到以下两行错误:

class DateTimeStorage
{
    String stringDate;
    DateTime dateValue = DateTime.Parse(stringDate);       
}

据此, stringDate 有错误

字段初始化程序不能引用非静态字段

现在,我将通过存储如下字符串值来关闭类:

class DateTimeStorage
{
    String stringDate;
    DateTime dateValue = DateTime.Parse(stringDate); 

     String day = datevalue.Day.ToString();
//etc
}

这也不起作用,“dateValue 在当前上下文中不存在”

现在,我完全被难住了,不知道如何最好地解决这个问题。我见过很多不同的约会方式。很难知道他们中的任何一个是否按照我需要的方式工作。

有人有什么建议吗?我需要将变量存储为字符串,因为它们将在整个项目中用于填充字段等。

任何帮助将不胜感激

标签: c#uwp

解决方案


存储当前日期的静态类怎么样。您可以对此进行修改,以便能够从代码中的其他位置更新日期,但这是将日期初始化为Now程序启动时的最简单方法。

using System;

namespace ClassLibrary3
{
    public static class StaticDate
    {
        static StaticDate()
        {
            //Initialize Date
            var date = DateTime.Now;
            Year = date.Year;
            Month = date.Month;
            Day = date.Day;
        }

        public static readonly int Year;
        public static readonly int Month;
        public static readonly int Day;
    }

    public class SomeOtherClass
    {
        public void MethodThatNeedsDate()
        {
            var year = StaticDate.Year;
            var day = StaticDate.Day;
        }
    }
}

推荐阅读