如何在 Unity 中使用 StreamWriter 和 DateTime(我使用的是 c#)获取时间保存到文件?
How do I get the time to save to a file using StreamWriter and DateTime in Unity (I'm using c#)?
我试过添加时间,但它似乎没有自动更新。我能够在某种程度上获得正确的日期,但它不会自动更改。这是我使用的代码:
public int year;
public int day;
public int hour;
public int minute;
public int seconds;
DateTime dt;
void Start(){
dt = new DateTime (year, month, day, hour, minute, seconds);
}
StreamWriter swriter = new StreamWriter (@"Assets\Time_Stamp.txt");
try(){
swriter.WritLine(dt.Date.ToString());
swriter.Close();
}
catch(Exception ex){
ex = new Exception("An error has occurred!!");
}
如何解决这个问题,使其更自动并更接近当地时间?
DateTime.Date
属性 只会 return DateTime
的日期部分,所以你总是会从 dt
得到 00:00:00
// dt.Date.ToString()
dt.ToString()
您还需要使用未初始化的 int (0
) 以外的参数构造您的 DateTime
。如果您需要当前时间,请考虑使用:
dt = DateTime.Now;
DateTime
创建后不会自动更新。 DateTime.Now
static 属性,returns 当前时间和日期,就是您要查找的内容。所以,基本上,您不需要所有 year, month,
等变量。
DateTime
还包含一些转换为字符串的不同方法,您可能想尝试一下。
swriter.WriteLine(DateTime.Now.ToString());
// writes 2015-06-30 23:54:53, but it might look different for you, because it depends on regional settings
swriter.WriteLine(DateTime.Now.ToLongTimeString());
// 23:54:53
swriter.WriteLine(DateTime.Now.ToLongDateString());
// 30 czerwca 2015 - again dependent on your regional settings
swriter.WriteLine(DateTime.Now.ToShortTimeString());
// 23:54
swriter.WriteLine(DateTime.Now.ToShortDateString());
// 2015-06-30
我试过添加时间,但它似乎没有自动更新。我能够在某种程度上获得正确的日期,但它不会自动更改。这是我使用的代码:
public int year;
public int day;
public int hour;
public int minute;
public int seconds;
DateTime dt;
void Start(){
dt = new DateTime (year, month, day, hour, minute, seconds);
}
StreamWriter swriter = new StreamWriter (@"Assets\Time_Stamp.txt");
try(){
swriter.WritLine(dt.Date.ToString());
swriter.Close();
}
catch(Exception ex){
ex = new Exception("An error has occurred!!");
}
如何解决这个问题,使其更自动并更接近当地时间?
DateTime.Date
属性 只会 return DateTime
的日期部分,所以你总是会从 dt
得到 00:00:00
// dt.Date.ToString()
dt.ToString()
您还需要使用未初始化的 int (0
) 以外的参数构造您的 DateTime
。如果您需要当前时间,请考虑使用:
dt = DateTime.Now;
DateTime
创建后不会自动更新。 DateTime.Now
static 属性,returns 当前时间和日期,就是您要查找的内容。所以,基本上,您不需要所有 year, month,
等变量。
DateTime
还包含一些转换为字符串的不同方法,您可能想尝试一下。
swriter.WriteLine(DateTime.Now.ToString());
// writes 2015-06-30 23:54:53, but it might look different for you, because it depends on regional settings
swriter.WriteLine(DateTime.Now.ToLongTimeString());
// 23:54:53
swriter.WriteLine(DateTime.Now.ToLongDateString());
// 30 czerwca 2015 - again dependent on your regional settings
swriter.WriteLine(DateTime.Now.ToShortTimeString());
// 23:54
swriter.WriteLine(DateTime.Now.ToShortDateString());
// 2015-06-30