C# 到字符串的日期时间

C# 到字符串的日期时间,c#,date,datetime,visual-studio-2012,filestream,C#,Date,Datetime,Visual Studio 2012,Filestream,我想在我的文件中包含日期时间,如下所示: 日期2014.03.20 11.41.06 或德国2014年3月20日11.41.06 但它不起作用。如果我尝试将DateTime转换为字符串,我会得到: 1.1.1 0.0.0 这个怎么了 DateTime DateAndTime = new DateTime(); int day = DateAndTime.Date.Day; int month = DateAndTime.Date.Month; int year = DateAndTime.Da

我想在我的文件中包含日期时间,如下所示:

日期2014.03.20 11.41.06 或德国2014年3月20日11.41.06

但它不起作用。如果我尝试将DateTime转换为字符串,我会得到:

1.1.1 0.0.0 这个怎么了

DateTime DateAndTime = new DateTime();

int day = DateAndTime.Date.Day;
int month = DateAndTime.Date.Month;
int year = DateAndTime.Date.Year;

int second = DateAndTime.Date.Second;
int minute = DateAndTime.Date.Minute;
int hour = DateAndTime.Date.Hour;

string sday = day.ToString();

string path = day + "." + month + "." + year + hour +
              "." + minute + "." + second + " test.txt";

FileStream fileStream = new FileStream(expath, FileMode.OpenOrCreate, FileAccess.ReadWrite);

您从未设置
DateTime
值,因此它默认为1月1日午夜。如果要使用当前日期,请使用
DateTime。现在

DateTime DateAndTime = DateTime.Now;

使用
new DateTime()
时,
DateTime
值将为
0001.01.01 00.00
,最好使用
DateTime。现在如果您想要当前日期和时间:

var path = DateTime.Now.ToString("yyyy.MM.dd HH.mm.ss") + " test.txt";

来自
http://www.dotnetperls.com/filename-datetime

照办


string.Format(“text-{0:yyyy-MM-dd_hh-MM-ss-tt}.bin”,DateTime.Now)

您可以使用
CultureInfo
为各个区域获取正确的格式。既然你提到德语:

using System.Globalization;

CultureInfo deDE = new CultureInfo("de-DE");
string DateAndTime = DateTime.Now.ToString(deDE);
不过,它将为您提供以下输出:

20.03.2014 14:39:12


在第2行设置一个断点,在调试器中运行它,并查看
DateAndTime
变量。为什么不使用
ToString
自定义格式字符串?谢谢您的回答,也谢谢所有其他人。是否有可能在HH之前添加[时间],如:2014年3月20日[时间…]?如果我将它们添加到字符串中,我会得到数字。是的,将模式替换为
yyyy.MM.dd'[Time'HH.MM.ss']
。注意
滴答声。我得到了:2014-03-20 Ti56e 16.56.22你用滴答声了吗?它在这里工作得很好。是的,但我好像出了什么问题。我已经复制了你的文本,现在它正在工作。谢谢;)