更改datetime.now的格式

本文关键字:格式 now datetime 更改 | 更新日期: 2023-09-27 18:06:35

我想得到最后看到的用户,并将其保存到我的sql数据库在mvc5。我在控制器中看到的最后一个代码如下:

users.userlast=DateTime.Now;

并以这种格式保存到我的数据库"2015-08-06 12:12:13.443"。我想获得日期时间只格式日,月,年,小时和分钟。

我不能这样写,

var dateTime = DateTime.ParseExact("12/02/21 10:56:09", "yy/MM/dd HH:mm", CultureInfo.InvariantCulture);
var text = dateTime.ToString("MMM. dd, yyyy HH:mm");

它没有工作,因为我最后看到的列是一个日期时间类型而不是字符串。我该怎么办?

谢谢。

编辑:像whatsup应用程序,我想只看到小时和分钟,而不是秒最后一次看到。

更改datetime.now的格式

您说您将存储为日期时间类型,在这种情况下,您不需要将字符串转换为日期时间。事实上,您不需要做任何解析。

当你查询数据库时,你应该得到一个DateTime,在这个DateTime上你可以调用ToString()。

获取日期时间的格式只有日,月,年,小时和分钟(没有秒,毫秒),创建一个新的datetime值之前保存:

var dt = DateTime.Now;
users.userlast = dt.Date.AddHours(dt.Hour).AddMinutes(dt.Minute);

您不必担心在数据库中保存的格式。当你想用你的特定格式表示它时,你可以相应地ToString它。

我想获得日期时间格式只有日,月,年,小时和分钟。

string text = dateTime.ToString("yyyy-MM-dd HH:mm",
                                CultureInfo.InvariantCulture);

CultureInfo。InvariantCulture用于使用指定的区域性,而不管用户当前的区域性。

您可以使用InvariantCulture,因为您的用户必须在使用点而不是冒号的区域性中:

DateTime.ToString("yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture);

就这样做

var formattedDateTime = yourLastSeenDateTime.ToString("MMM. dd, yyyy HH:mm", CultureInfo.InvariantCulture);

编辑:试试你在评论中提到的

DateTime dbDate = yourLastSeenDateTime;
DateTime newDateTime = new DateTime(dbDate.Year, dbDate.Month, dbDate.Day, dbDate.Hour, dbDate.Minute, 0);