我编写了一个C#控制台应用程序,在它完成所有处理后输出DateTime到磁盘.这样做是这样的:
writer.WriteLine(myDateTime).
使用以下内容阅读本文时,同样的控制台应用程序没有问题DateTime:
DateTime.Parse(reader.ReadLine())
然而,当我尝试在我的单独Asp.Net程序中使用以下代码时,我收到一个错误,说我string的不是有效的DateTime,至少可以说是奇怪的.
StreamReader reader = new StreamReader(@"D:\InformerReports\Archive\ReliabilityData\StartTime.hist");
string dateString = reader.ReadLine();
return DateTime.Parse(dateString);
Run Code Online (Sandbox Code Playgroud)
我已经检查了它正在读的字符串是10/25/2016 12:00:00 AM.我也试图使用,return DateTime.ParseExact(dateString, "dd/MM/yyyy hh:mm:ss tt",null)但这会返回相同的错误.
我似乎无法理解为什么在同一个文件上执行的相同代码在一种情况下工作而不在另一种情况下工作.我很感激一些帮助.
我想将字符串2017-03-05转换为c#中的Datetime对象,格式为yyyy-MM-dd
string startDate = "2017-03-05";
DateTime myDate = DateTime.ParseExact(startDate, "yyyy-MM-dd",
System.Globalization.CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
myDate给了我05-03-2017 00:00:00
但我希望myDate DateTime对象像2017-03-05 00:00:00即yyyy-MM-dd格式.
尝试显示一个运行时,它将显示 HH:MM:SS 到目前为止,我让 SS 部分正常工作。但一旦达到 60 就会跳回 00。
到目前为止我得到的代码是:
DateTime startTime;
startTime = DateTime.Now;
timer1.Tick += (s, ev) => { lb_runnerStatus.Text = String.Format("{0:00}", (DateTime.Now - startTime).Seconds); };
startTime = DateTime.Now;
timer1.Interval = 100; // every 1/10 of a second
timer1.Start();
Run Code Online (Sandbox Code Playgroud)
是否可以让它显示 00:00:01 以及在 1 分钟时显示 00:01:00 等等。
我有DataTable一个DateTime存储为string像"二零一七年十二月二十零日".我想选择过去6个月内的所有行.
我可以这样做foreach:
foreach (DataRow dr in dsErgebnisse.Tables[0].Rows)
{
if (Convert.ToDateTime(dr[6].ToString()) > DateTime.Now.AddMonths(-6))
{
dsTemp.Tables[0].ImportRow(dr);
}
}
Run Code Online (Sandbox Code Playgroud)
这给了我3.613行.
我尝试用select来检查它是否更快:
DataRow[] foundRows = dsErgebnisse.Tables[0].Select("DATUM > '" + DateTime.Now.AddMonths(-6).ToShortDateString() + "'");
Run Code Online (Sandbox Code Playgroud)
DATUM是我的列,其中DateTime存储为字符串.这给了我2.624行.
为什么会有区别?我尝试在select语句中使用convert但是我失败了System.Data.EvaluateException:
foundRows = dsErgebnisse.Tables[0].Select("Convert(DATUM, 'System.DateTime') > '" + DateTime.Now.AddMonths(-6).ToShortDateString() + "'");
Run Code Online (Sandbox Code Playgroud) 这是我的代码。我无法返回Task<OkObjectResult>。我不想将返回类型转换为更具体的类型,例如Task<OkObjectResult>它会阻止我返回其他类型的结果,例如Task<BadRequestObjectResult>我无法更改方法的签名。这是 MediatR 的IRequestHandler
我该怎么做才能让它发挥作用?
public class Handler : IRequestHandler<Request, ActionResult>
{
public Task<ActionResult> Handle(Request request, CancellationToken cancellationToken)
{
Task.FromResult(new OkObjectResult(new Response { IsHealthy = true }));
}
}
Run Code Online (Sandbox Code Playgroud) 可能重复:
String.Empty和""之间有什么区别
你好
简单问题;
为什么
Textbox1.Text = String.Empty;
Run Code Online (Sandbox Code Playgroud)
比...更好
Textbox1.Text = "";
Run Code Online (Sandbox Code Playgroud)
?
有没有办法在不使用的情况下实现按位异或^?
1)与其他按位操作?
2)用算术运算?
int cell = 1;
foreach (var item in resourceDictionary.Keys)
{
excelSheet.Cells[cell, 1] = item;
excelSheet.Cells[cell, 2] = resourceDictionary[item];
cell++;
}
Run Code Online (Sandbox Code Playgroud)
在c#中使用linq有没有最简单的方法来实现这个目的?
我正在尝试将dateformat更改"4/01/2013 0:00:00"为"01/4/2013 00:00:00".
DateTime.ParseExact(fromDate.ToString(), "m/dd/yy HH:mm:ss", CultureInfo.InvariantCulture).ToString("dd/mm/yy HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)
但是我得到了
"字符串没有被认为是有效的DateTime."
我的代码是..
public IDataReader ExecuteDataReader(string commandText, IDbConnection con)
{
return ExecuteDataReader(commandText, con, CommandType.Text);
}
public IDataAdapter ExecuteDataReader(string commandText)
{
IDbConnection connection = _connectionManager.GetConnection();
return ExecuteDataReader(commandText, connection); **//error shows**
}
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?帮我。
错误:
无法将类型“System.Data.IDataReader”隐式转换为“System.Data.IDataAdapter”。存在显式转换(您是否缺少演员表?)