Convert.ToDateTime:如何设置格式

时间:2013-03-04 14:13:45

标签: c# .net datetime

我使用转换像:

Convert.ToDateTime(value)

但我需要将转换日期格式化为" mm / yy" 我正在寻找这样的事情:

var format = "mm/yy";
Convert.ToDateTime(value, format)

6 个答案:

答案 0 :(得分:17)

您应该使用DateTime.ParseExactDateTime.TryParseExact代替。它们允许您指定特定格式。我个人更喜欢Try - 版本,因为我认为它们会为错误案例生成更好的代码。

答案 1 :(得分:12)

如果value是该格式的string并且您想将其转换为DateTime对象,则可以使用DateTime.ParseExact静态方法:< / p>

DateTime.ParseExact(value, format, CultureInfo.CurrentCulture);

示例:

string value = "12/12";
var myDate = DateTime.ParseExact(value, "MM/yy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);

Console.WriteLine(myDate.ToShortDateString());

结果:

2012-12-01

答案 2 :(得分:2)

DateTime没有格式。格式仅适用于将DateTime转换为字符串时,隐式显示您在表单,网页等上显示的值。

查看在哪里您正在显示DateTime并在那里设置格式(或者如果您需要其他指导,请修改您的问题)。

答案 3 :(得分:0)

这个怎么样:

    string test = "01-12-12";
    try{
         DateTime dateTime = DateTime.Parse(test);
         test = dateTime.ToString("dd/yyyy");
    }
    catch (FormatException exc)
    {
        MessageBox.Show(exc.Message);
    }

测试将等于“12/2012”

希望它有所帮助!

请阅读HERE

答案 4 :(得分:0)

您可以使用Convert.ToDateTime,它显示在How to convert a Datetime string to a current culture datetime string

DateTimeFormatInfo usDtfi = new CultureInfo("en-US", false).DateTimeFormat;

var result = Convert.ToDateTime("12/01/2011", usDtfi)

答案 5 :(得分:-1)

您也可以使用它。

import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs';

@Injectable()
export class ErrorHandlerInterceptor implements HttpInterceptor {
  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    console.log('Hello');
    return next.handle(request);
  }
}