如何在 Unity 中使用 StreamWriter 和 DateTime 获取保存到文件的时间(我使用的是 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 (@"AssetsTime_Stamp.txt");
try(){
    swriter.WritLine(dt.Date.ToString());
    swriter.Close();
}
catch(Exception ex){
    ex = new Exception("An error has occurred!!");
}

如何将其设置为更自动、更接近当地时间?

DateTime.Date属性将只返回DateTime的日期部分,因此您将始终从dt 获得00:00:00

// dt.Date.ToString()
dt.ToString()

您还需要使用未初始化的int(0的)以外的参数来构造DateTime。如果您需要当前时间,请考虑使用:

dt = DateTime.Now;

DateTime在创建后不会自动更新。返回当前时间和日期的DateTime.Now静态属性就是您要查找的内容。所以,基本上,你不需要所有的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

相关内容

  • 没有找到相关文章

最新更新