'08-05-2009 같은 문자열로 변환한 어떻게 14:40:52,531' 를 'DateTime'?
기본적으로 이 두 가지 옵션이 있습니다. '다테타임스파스 ()' 와 '다테타임스파르제스카트 ()'.
첫 번째는 매우 관대하시며 문법 면에서 여러 가지 형식으로 날짜 분석할 예정이다. 사용자 입력을 위해 다양한 형식의 올 수 있는 것이 좋다.
정확한 형식을 사용할 수 있게 대체하십시오 페르세렉사스 너회의 날짜 문자열 구문 분석. 이 문자열은 동일한 형식의 경우 항상 사용하는 것이 좋다. 이렇게 하면 쉽게 감지할 수 있는 데이터 편차를 보인다.
다음과 같은 사용자 입력을 파싱할 수 있습니다.
DateTime enteredDate = DateTime.Parse(enteredString);
특정 문자열을 콩지름에 형식의 경우, 다른 방법:
DateTime loadedDate = DateTime.ParseExact(loadedString, "d", null);
',' 의 약자로, d" " 짧은 날짜 패턴 (참조 MSDN 자세한 정보) 과 'null' 은 현재 不仅需要思想和文化的变革 사용되도록 분석 구체화하십시오.
다테타임스파스 (string) 를 사용하여
DateTime dateTime= DateTime.Parse(dateTimeStr);
아니예 구축됩니까 확장명으로 메서드로부터 것으로 보인다. 도움으로 [@CMS& # 39 의 오토메이티드] (https://stackoverflow.com/questions/919244/converting-a-string-to-datetime # 919276):
전체 소스 비유하사 향산된 일하고 있습니다. 사진을 https://partner.
namespace ExtensionMethods {
using System;
using System.Globalization;
public static class DateTimeExtensions {
public static DateTime ToDateTime(this string s,
string format = "ddMMyyyy", string cultureString = "tr-TR") {
try {
var r = DateTime.ParseExact(
s: s,
format: format,
provider: CultureInfo.GetCultureInfo(cultureString));
return r;
} catch (FormatException) {
throw;
} catch (CultureNotFoundException) {
throw; // Given Culture is not supported culture
}
}
public static DateTime ToDateTime(this string s,
string format, CultureInfo culture) {
try {
var r = DateTime.ParseExact(s: s, format: format,
provider: culture);
return r;
} catch (FormatException) {
throw;
} catch (CultureNotFoundException) {
throw; // Given Culture is not supported culture
}
}
}
}
namespace SO {
using ExtensionMethods;
using System;
using System.Globalization;
class Program {
static void Main(string[] args) {
var mydate = "29021996";
var date = mydate.ToDateTime(format: "ddMMyyyy"); // {29.02.1996 00:00:00}
mydate = "2016 3";
date = mydate.ToDateTime("yyyy M"); // {01.03.2016 00:00:00}
mydate = "2016 12";
date = mydate.ToDateTime("yyyy d"); // {12.01.2016 00:00:00}
mydate = "2016/31/05 13:33";
date = mydate.ToDateTime("yyyy/d/M HH:mm"); // {31.05.2016 13:33:00}
mydate = "2016/31 Ocak";
date = mydate.ToDateTime("yyyy/d MMMM"); // {31.01.2016 00:00:00}
mydate = "2016/31 January";
date = mydate.ToDateTime("yyyy/d MMMM", cultureString: "en-US");
// {31.01.2016 00:00:00}
mydate = "11/شعبان/1437";
date = mydate.ToDateTime(
culture: CultureInfo.GetCultureInfo("ar-SA"),
format: "dd/MMMM/yyyy");
// Weird :) I supposed dd/yyyy/MMMM but that did not work !?$^&*
System.Diagnostics.Debug.Assert(
date.Equals(new DateTime(year: 2016, month: 5, day: 18)));
}
}
}
,, a href = " < http://msdn.microsoft.com/en-us/library/xhz1w05e.aspx" > Convert.ToDateTime< /a>. 또는 <, a href = " https://msdn.microsoft.com/en-us/library/system.datetime.parse .aspx" >;; (v = vs. 110), DateTime.Parse< /a>.
string input;
DateTime db;
Console.WriteLine("Enter Date in this Format(YYYY-MM-DD): ");
input = Console.ReadLine();
db = Convert.ToDateTime(input);
//////// this methods convert string value to datetime
///////// in order to print date
Console.WriteLine("{0}-{1}-{2}",db.Year,db.Month,db.Day);
잘 모를 경우 다테타임스트리파르제스카트 사용할 수도 있습니다 () 는 다음과 같이 입력 값.
DateTime outputDateTimeValue;
if (DateTime.TryParseExact("2009-05-08 14:40:52,531", "yyyy-MM-dd HH:mm:ss,fff", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out outputDateTimeValue))
{
return outputDateTimeValue;
}
else
{
// Handle the fact that parse did not succeed
}
다테타임스파스 *
Syntax:*
DateTime.Parse(String value)
DateTime.Parse(String value, IFormatProvider provider)
DateTime.Parse(String value, IFormatProvider provider, DateTypeStyles styles)
string value = "1 January 2019";
CultureInfo provider = new CultureInfo("en-GB");
DateTime.Parse(value, provider, DateTimeStyles.NoCurrentDateDefault););
내부 문자열 구문 분석 변환 번호 유형:.
내부 숫자 값을 판독값 포맷 변환 구체화하십시오.
내가 하고 있는 문제는 I was a 는 최근 변환하십시오 DateTime 전달할 당시 형식은 t # 39, Linq 내가 hadn& 관련이 없는 것을 알게 한 때 반군지역 DateTime Linq 질의입니다.
DateTime SearchDate = DateTime.Parse(searchDate);
applicationsUsages = applicationsUsages.Where(x => DbFunctions.TruncateTime(x.dateApplicationSelected) == SearchDate.Date);
[전체 DateTime 문서용으로] [1]
[1]: # 01 구문 분석 보기 = netframework-4.7.2 https://docs.microsoft.com/en-us/dotnet/api/system.datetime?
, '이거 코드에서 > 정적 클래스 공용 정적 클래스 ClassName {} '
public static DateTime ToDateTime(this string datetime, char dateSpliter = '-', char timeSpliter = ':', char millisecondSpliter = ',')
{
try
{
datetime = datetime.Trim();
datetime = datetime.Replace(" ", " ");
string[] body = datetime.Split(' ');
string[] date = body[0].Split(dateSpliter);
int year = date[0].ToInt();
int month = date[1].ToInt();
int day = date[2].ToInt();
int hour = 0, minute = 0, second = 0, millisecond = 0;
if (body.Length == 2)
{
string[] tpart = body[1].Split(millisecondSpliter);
string[] time = tpart[0].Split(timeSpliter);
hour = time[0].ToInt();
minute = time[1].ToInt();
if (time.Length == 3) second = time[2].ToInt();
if (tpart.Length == 2) millisecond = tpart[1].ToInt();
}
return new DateTime(year, month, day, hour, minute, second, millisecond);
}
catch
{
return new DateTime();
}
}
, 이 방법으로 사용할 수 있습니다.
string datetime = "2009-05-08 14:40:52,531";
DateTime dt0 = datetime.TToDateTime();
DateTime dt1 = "2009-05-08 14:40:52,531".ToDateTime();
DateTime dt5 = "2009-05-08".ToDateTime();
DateTime dt2 = "2009/05/08 14:40:52".ToDateTime('/');
DateTime dt3 = "2009/05/08 14.40".ToDateTime('/', '.');
DateTime dt4 = "2009-05-08 14:40-531".ToDateTime('-', ':', '-');
세계 여러 가지 방법으로 다른 문화권에서 쓰기 날짜 문장열. 예를 들어, 20일 1월 2008년) 는 미국 01/20/2008. 프랑스에서 이 충족되었으며 린발리드포르마렉세페시옹 던질 것이다. 이 때문에 프랑스 등 미국 it 는, 일본의 날짜 시간 판독합니다 일 / 월 / 년 월 / 일 / 년.
따라서 같은 20/01/2008 은 20일 1월 2008년 프랑스에서 문자열으로 구문 분석 한 후 미국에서 린발리드포르마렉세페시옹 던진다.
현재 不仅需要思想和文化的变革 설정을 이스터 맥그로바이제이션.컬터인포스커랑컬튀르스 결정하는 데 사용할 수 있습니다.
string dateTime = "01/08/2008 14:50:50.42";
DateTime dt = Convert.ToDateTime(dateTime);
Console.WriteLine("Year: {0}, Month: {1}, Day: {2}, Hour: {3}, Minute: {4}, Second: {5}, Millisecond: {6}",
dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second, dt.Millisecond);