Aze*_*112 1 c# asp.net datetime date
string date = "23/12/2017";
DateTime dt = DateTime.ParseExact(
date,
"dd/MM/yyyy hh:mm:ss tt",
CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
但dt它给了我12/23/2017 12:00:00 AM
什么办法我必须用这个字符串转换为dd/mm/yyyy与当前的时间,因为如果我在运行此代码03:20 PM,我想"23/12/2017 03:20:00 PM"在我的dt对象
我有一个 ASP.NET MVC 操作,它接受一个日期作为字符串并将其保存到一个数据库表中,在一个类型为 DATE 的字段中。
我正在保存我的 dt 对象。我想将我的日期保存为 DD/MM/YYYY,因此我不需要更改其顺序。现在 dt 对象采用 MM/DD/YYYY 格式。所以当我浏览我的表格数据时,它会以 MM/DD/YYYY 顺序显示数据(日期)。我想将我的 dt 对象订购为 DD/MM/YYYY 以便它在表格中保存为 DD/MM/YYYY 所以每当我从我的表格中获得价值时,我都不必更改订单
/// asp.net Entities link to create connection with DataBase
private DatabaseEntities db = new DatabaseEntities();
//// Method to Save date in database
public ActionResult SaveDate(string date){
var DateTableObject = new Date();
DateTime dt = DateTime.ParseExact(date, "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture).Add(DateTime.Now.TimeOfDay);
DateTableObject.Date = dt;
db.Date.add(DateTableObject);
db.SaveChanges();
}
//// Model class
public class Date{
public DateTime Date {set; get;}
}
/// Method to get dates
public ActionResult GetDates(){
return View(db.Date.tolist());
}
Run Code Online (Sandbox Code Playgroud)
鉴于我以 MM/DD/YYYY 格式接收日期
如果您知道日期字符串的正确区域性,您可以使用DateTime.Parse来解析日期,然后添加当前本地时间:
var finalDateTime = DateTime.Parse("23/12/2017",CultureInfo.GetCultureInfo("en-GB"))
.Add(DateTime.Now.TimeOfDay);
Run Code Online (Sandbox Code Playgroud)
许多国家/地区使用 dd/MM/YYYY 格式,因此即使您不知道实际的语言环境,也可以使用一种作为后备。
如果您不知道语言环境,只知道格式,则可以使用 ParseExact仅解析日期:
var finalDateTime = DateTime.ParseExact("23/12/2017","dd/MM/yyyy", CultureInfo.InvariantCulture)
.Add(DateTime.Now.TimeOfDay);
Run Code Online (Sandbox Code Playgroud)
返回值是一个日期,其值为 2017 年 12 月 23 日和当前时间。
不要被调试器的显示弄糊涂了。日期没有格式,它们是二进制值。不过,调试器必须以某种方式显示该值。如果像许多开发人员一样,您使用美国语言环境,您会看到日期为MM/dd/YYYY. 但是,如果您检查 Month 属性,它将是 12。
| 归档时间: |
|
| 查看次数: |
6995 次 |
| 最近记录: |