如何在 yyyyymmddhhmmsss 中获取日期时间
本文关键字:获取 取日期 时间 yyyyymmddhhmmsss | 更新日期: 2023-09-27 18:09:44
我已经编写了以下查询来从实体创建 xml,我需要以 .NET 格式获取字段SLOTTINGTIME
yyyymmddhhmmss
格式的日期时间,因此我想编写一个新方法来获取所需格式的日期时间。
var slottingmessagexml = new XDocument(new XElement("Message",
new XAttribute("ID","SLT"),
new XElement("Record",
new XAttribute("STORENO",slottingmessage.StoreID),
new XAttribute("PICKLOCATION",slottingmessage.PickLocation),
new XAttribute("TPNB",slottingmessage.ProductID),
new XAttribute("SLOTTINGTIME",GetDateTimeInNewFormat(slottingmessage.SlottingDateTime)),
new XAttribute("SLOTTTINGACTION",slottingmessage.SlottingAction))
)
);
string strDate = DateTime.Now.ToString("yyyyMMddhhmmss");
如果需要 24 小时格式,请使用大写HH
代替格式字符串中的hh
。
请记住,第一个MM
应该是大写的,因为小写mm
是分钟,而大写是月份。
对于您的特定情况,您可以执行以下操作,而不是编写新方法:
new XAttribute("SLOTTINGTIME",slottingmessage.SlottingDateTime.ToString("yyyyMMddhhmmss")),
还有一件事要补充:输出将包含 12 小时格式的小时,因为字符串中的部分是小写hh
。不太确定您是否需要它,因为如果没有 AM/PM,这无法指示准确的时间。为此,使用 HH
表示小时,这将以 24 小时格式显示小时。因此,您的代码可以是:
new XAttribute("SLOTTINGTIME",slottingmessage.SlottingDateTime.ToString("yyyyMMddHHmmss")),
//^^ for 24 hours format
这个怎么样?
public string GetDateTimeInNewFormat(DateTime d)
{
return d.ToString("yyyyMMddhhmmss");
}
或者,对于 24 小时格式:
public string GetDateTimeInNewFormat(DateTime d)
{
return d.ToString("yyyyMMddHHmmss");
}
虽然你的问题没有明确说明你在寻找什么格式,但我认为根据你的yyyymmddhhmmss
示例格式,我们可以假设你想要[years][months][days][hours][minutes][seconds]
。
基于此,我们可以将每个部分分解如下:
年份:如果您想要全年,那么您的yyyy
是正确的,例如2013
。可以yy
一个常见的(尽管不鼓励的(替代方案(例如 13
(
月:目前,您尝试mm
不会返回月。它将产生会议记录。您可能想要MM
(例如 04
(。替代方案包括MMM
(例如 APR
( 和MMMM
(例如 April
(
戴:你又已经正确了。 例如,dd
会产生18
。
小时:您尝试hh
将生成 12 小时的时间格式。如果这就是你所追求的,那很好。但鉴于您没有尝试包含 AM/PM 指示符(顺便说一下,可以用 tt
完成(,那么我建议您选择HH
的 24 小时格式(大写(
:您的分钟是正确的,例如mm
会产生52
。
秒:同样,ss
是正确的,例如会产生33
。
现在我们可以将它们全部串在一起并生成以下格式,其中包括我推荐的 24 小时制时间格式。然后可以将其传递给DateTime
对象ToString()
其功能如下所示:
var stringDateTime = slottingmessage.SlottingDateTime.ToString("yyyyMMddHHmmss");
如果你想保持你的GetDateTimeInNewFormat
方法,那么你可以像这样实现它:
public string GetDateTimeInNewFormat(DateTime dt)
{
return dt.ToString("yyyyMMddHHmmss");
}
然后,将按照示例代码中已有的相同方式调用此函数:
GetDateTimeInNewFormat(slottingmessage.SlottingDateTime)
您可以在此处阅读有关各种日期/时间格式选项的更多信息,其中有很多示例