روش های مختلف پردازش یک رشته و تبدیل آن به نوع داده تاریخ
نویسنده: مهدی ملائیان
تاریخ: ۱۳۹۴/۱۱/۰۲ ۱۹:۳۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
CultureInfo culture = new CultureInfo("en-US");
DateTime tempDate = Convert.ToDateTime("1/1/2010 12:10:15 PM", culture); string datestr = null; Console.WriteLine(Convert.ToDateTime(datestr));//0001-01-01T00:00:00 datestr = "wrong string"; Console.WriteLine(Convert.ToDateTime(datestr)); //Unhandled Exception: System.FormatException: //The string was not recognized as a valid DateTime. //There is an unknown word starting at index 0. datestr = "Tue Dec 30,2015"; Console.WriteLine(Convert.ToDateTime(datestr)); //Unhandled Exception: System.FormatException: //String was not recognized as a valid DateTime.
string datestr = null; Console.WriteLine(DateTime.Parse(datestr)); //// Exception: Argument null exception datestr = "wrong string"; Console.WriteLine(DateTime.Parse(datestr)); //// Exception: The string was not recognized as a valid DateTime. //// There is an unknown word starting at index 0. datestr = "Tue Dec 30, 2015"; //Unhandled Exception: System.FormatException: //String was not recognized as a valid DateTime. Console.WriteLine(DateTime.Parse(datestr));
string datestr = null;
CultureInfo provider = CultureInfo.InvariantCulture;
Console.WriteLine(DateTime.ParseExact(datestr, "mm/dd/yyyy", provider));
//Unhandled Exception: System.ArgumentNullException:
//String reference not set to an instance of a String.
datestr = "wrong date";
Console.WriteLine(DateTime.ParseExact(datestr, "mm/dd/yyyy", provider));
//Unhandled Exception: System.FormatException:
//String was not recognized as a valid DateTime
datestr = "Tue Dec 30, 2015";
Console.WriteLine(DateTime.ParseExact(datestr, "mm/dd/yyyy", provider));
//Unhandled Exception: System.FormatException:
//String was not recognized as a valid DateTime.
datestr = "10-22-2015";
Console.WriteLine(DateTime.ParseExact(datestr, "MM-dd-yyyy", provider));
//30/07/1394 12:00:00 ق.ظ
datestr = "10-22-2015";
Console.WriteLine(DateTime.ParseExact(datestr, new string[]
{"MM-dd-yyyy", "MM/dd/yyyy", "MM.dd.yyyy"}, provider, DateTimeStyles.None));
//30/07/1394 12:00:00 ق.ظ string datestr = null;
DateTime temp;
Console.WriteLine(DateTime.TryParse(datestr, out temp));
Console.WriteLine(temp);
//False
//0001 - 01 - 01T00: 00:00
datestr = "wrong date";
Console.WriteLine(DateTime.TryParse(datestr, out temp));
Console.WriteLine(temp);
//False
//0001 - 01 - 01T00: 00:00
datestr = "Tue Dec 30, 2015";
Console.WriteLine(DateTime.TryParse(datestr, out temp));
Console.WriteLine(temp);
//False
//0001 - 01 - 01T00: 00:00 string datestr = null;
DateTime temp;
CultureInfo provider = CultureInfo.InvariantCulture;
Console.WriteLine(DateTime.TryParseExact(datestr, "MM/dd/yyyy", provider, DateTimeStyles.None, out temp));
Console.WriteLine(temp);
//False
//1/1/0001 12:00:00 AM
datestr = "wrong date";
Console.WriteLine(DateTime.TryParseExact(datestr, "MM/dd/yyyy", provider, DateTimeStyles.None, out temp));
Console.WriteLine(temp);
//False
//1/1/0001 12:00:00 AM
datestr = "Tue Dec 30, 2015";
Console.WriteLine(DateTime.TryParseExact(datestr, "MM/dd/yyyy", provider, DateTimeStyles.None, out temp));
Console.WriteLine(temp);
//False
//1/1/0001 12:00:00 AM
datestr = "10‐22‐2015";
Console.WriteLine(DateTime.TryParseExact(datestr, "MM/dd/yyyy", provider, DateTimeStyles.None, out temp));
Console.WriteLine(temp);
//False
//1/1/0001 12:00:00 AM
datestr = "10‐22‐2015";
Console.WriteLine(DateTime.TryParseExact(
datestr, "MM‐dd‐yyyy", provider, DateTimeStyles.None, out temp));
Console.WriteLine(temp);
//True
//30/07/1394 12:00:00 ق.ظ
datestr = "10‐12‐2015";
Console.WriteLine(DateTime.TryParseExact(datestr, new string[] { "MM/dd/yyyy", "MM‐dd‐yyyy", "MM.dd.yyyy" }, provider, DateTimeStyles.None, out temp));
Console.WriteLine(temp);
//True
//20/07/1394 12:00:00 ق.ظ var persianCulture = new CultureInfo("fa-IR");
var persianDateTime = DateTime.ParseExact("31/02/1393", "dd/MM/yyyy", persianCulture); using System;
using System.Globalization;
using System.Linq;
public static DateTime PersianDateToGregorianDate(string pDate)
{
var dateParts = pDate.Split(new[] { '/' }).Select(d => int.Parse(d)).ToArray();
var hour = 0;
var min = 0;
var seconds = 0;
return new DateTime(dateParts[0], dateParts[1], dateParts[2],
hour, min, seconds, new PersianCalendar());
} public static DateTime UnixTimeStampToDateTime(this double unixTimeStamp)
{
// Unix timestamp is seconds past epoch
System.DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc);
dtDateTime = dtDateTime.AddSeconds(unixTimeStamp).ToLocalTime();
return dtDateTime;
}
public static int DateTimeToUnixTimeStamp(this DateTime time)
{
//create Timespan by subtracting the value provided from
//the Unix Epoch
TimeSpan span = (time - new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime());
//return the total seconds (which is a UNIX timestamp)
return (Int32)span.TotalSeconds;
} CultureInfo provider = CultureInfo.InvariantCulture;
DateTime temp;
string datestr = "01‐22‐2016";
Console.WriteLine(DateTime.TryParseExact(datestr, new string[]
{ "MM/dd/yyyy", "MM‐dd‐yyyy", "MM.dd.yyyy" }, provider, DateTimeStyles.None, out temp));
Console.WriteLine(temp);