我目前有一个应用程序在其标题窗口中显示内部版本号.这很好,除非对大多数用户没有任何意义,他们想知道他们是否拥有最新版本 - 他们倾向于将其称为"上周四",而不是构建1.0.8.4321.
计划是将构建日期放在那里 - 所以"应用程序构建于2009年10月21日".
我正在努力寻找一种程序化的方法来将构建日期作为文本字符串拉出来像这样使用.
对于内部版本号,我使用了:
Assembly.GetExecutingAssembly().GetName().Version.ToString()
Run Code Online (Sandbox Code Playgroud)
在确定了那些如何出现之后.
我想在编译日期(和时间,奖励积分)这样的东西.
这里的指针非常赞赏(如果合适的话,请原谅双关语),或更整洁的解决方案......
如果我的传入日期格式是在C#中,将字符串转换为日期的最佳方法是什么? YYYYMMDD
例如: 20001106
我正在阅读回答者的帖子,在那里我遇到了这个DateTimeStyles.RoundtripKind
我想要了解的调查员.我查看了MSDN ,其中说:
使用"o"或"r"标准格式说明符将DateTime对象转换为字符串时,将保留日期的DateTimeKind字段,然后将该字符串转换回DateTime对象.
我引用的帖子中输入的时间戳如下:
<timestamp time='2016-09-16T13:45:30'>
Run Code Online (Sandbox Code Playgroud)
我运行她的代码,它仍然有效.现在连接我所拥有的所有信息都是一团糟:
T
o
并r
格式化说明符,它没有说明它是什么?如果你进入挖掘更多的细节上DateTimeKind
列举的MSDN链接我上面引述只字未提o
和r
格式说明.以下链接说:
Member Name | Description
--------------------------------------------------------------------------------
Local | The time represented is local time.
Unspecified | The time represented is not specified as either local time or Coordinated Universal Time (UTC).
Utc | The time represented is UTC.
Run Code Online (Sandbox Code Playgroud)PS我尝试在上面创建一个表,但似乎SO没有创建表格结构的原生支持.
那么有人可以帮助我理解DateTimeStyles.RoundtripKind
枚举及其工作原理吗?
我尝试从外部系统解析日期时间戳,如下所示:
DateTime expiration;
DateTime.TryParse("2011-04-28T14:00:00", out expiration);
Run Code Online (Sandbox Code Playgroud)
不幸的是,它没有被认可.我怎样才能成功解析?
sl3dg3
我正在将Web API从.NET Core 2.2迁移到3.0,并希望使用新的API System.Text.Json
。使用时,Newtonsoft
我可以DateTime
使用以下代码进行格式化。我该怎么做?
.AddJsonOptions(options =>
{
options.SerializerSettings.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc;
options.SerializerSettings.DateFormatString = "yyyy'-'MM'-'dd'T'HH':'mm':'ssZ";
});
Run Code Online (Sandbox Code Playgroud) 关于在.NET和C#中解析ISO8601日期/时间,有很多SO问题和答案.然而,在任何地方似乎都没有"明确的"答案,即提供正式正确的ISO8601解析器的答案,该解析器将正确解析ISO8601中的所有可能的格式变体,并且不允许非ISO8601变体.
这个SO答案是迄今为止最接近的比赛......
我有一个字符串,"2009-10-08 08:22:02Z",它是ISO 8601格式.
如何使用DateTime来解析此格式?
我正在尝试从数据源解析传入日期(无法更改).它给了我ISO 8601格式示例的时间:2007-04-05T24:00
.
在.Net中,它无法将其解析为有效时间.
维基百科声明它应该是有效的格式.维基百科ISO 8601
如果没有令人讨厌的字符串检查黑客,我怎么能这样做?
示例(小提琴:http://dotnetfiddle.net/oB7EZx):
var strDate = "2007-04-05T24:00";
Console.WriteLine(DateTime.Parse(strDate, null, DateTimeStyles.RoundtripKind));
Run Code Online (Sandbox Code Playgroud)
抛出:
日历System.Globalization.GregorianCalendar中不支持字符串表示的DateTime.
我在 c# 中的数据表中插入记录,其中日期时间的转换给 em 额外的 5 小时。
DateTime.ParseExact("2020-02-19T15:28:36.207Z", "yyyy-MM-ddTHH:mm:ss.fffZ", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
这给了我 8:28 pm 而不是 3:28 pm 这是来自 c# 的响应
{2/19/2020 8:28:36 PM}
Date: {2/19/2020 12:00:00 AM}
Day: 19
DayOfWeek: Wednesday
DayOfYear: 50
Hour: 20
Kind: Local
Millisecond: 207
Minute: 28
Month: 2
Second: 36
Ticks: 637177409162070000
TimeOfDay: {20:28:36.2070000}
Year: 2020```
Run Code Online (Sandbox Code Playgroud) 如何使用 C# 将ISO 8601格式的日期字符串解析为日期时间对象?
我有字符串"06-03-2016T06:42:44.252Z"
,我想将其转换为日期时间。
这篇文章的最佳答案建议使用:
DateTime.Parse(string, null, System.Globalization.DateTimeStyles.RoundtripKind);
Run Code Online (Sandbox Code Playgroud)
如果我将日期格式设置为类似"2016-06-03T06:42:45Z"
但不是,则此方法有效"06-03-2016T06:42:44.252Z"
如何"06-03-2016T06:42:44.252Z"
正确转换为日期时间?
非常感谢您的宝贵时间。如果我不清楚或者您需要我提供任何其他信息,请告诉我。
我在堆栈上找不到另一个问题,询问如何从这种确切的格式进行转换,并且无法将它们的策略应用到我的案例中。我可以转换我的字符串以匹配我链接的示例中使用的字符串,但我失去了一点精度并在此过程中添加了更多工作。我想保留这个问题并且不标记为重复项,希望找到一种解析我的日期格式或确认它无法完成的方法。
我想转换"ISODate(\"2014-11-13T18:43:33.868Z\")"
为 c# datetime ex 2014-11-13 18:43:33
。"ISODate(\"2014-11-13T18:43:33.868Z\")"
取自 MongoDB 集合的值。
请帮忙。