DateTime DateTime DateTime DateTime Struct

Tanım

Anlık, genellikle bir tarih ve saat olarak ifade edilen zaman içinde temsil eder. Represents an instant in time, typically expressed as a date and time of day.

public value class DateTime : IComparable, IComparable<DateTime>, IConvertible, IEquatable<DateTime>, IFormattable, System::Runtime::Serialization::ISerializable
[System.Serializable]
public struct DateTime : IComparable, IComparable<DateTime>, IConvertible, IEquatable<DateTime>, IFormattable, System.Runtime.Serialization.ISerializable
type DateTime = struct
    interface IFormattable
    interface IConvertible
    interface ISerializable
Public Structure DateTime
Implements IComparable, IComparable(Of DateTime), IConvertible, IEquatable(Of DateTime), IFormattable, ISerializable
Devralma
Öznitelikler
Uygulamalar

Açıklamalar

Not

Bu makalede, C# örnekleri çalıştırmak Try.NET satır içi kod Çalıştırıcısı ve oyun alanı.The C# examples in this article run in the Try.NET inline code runner and playground. Seçin çalıştırma bir etkileşimli penceresinde bir örnek çalıştırmak için düğme.Select the Run button to run an example in an interactive window. Kod yürüttükten sonra değiştirmek ve seçerek değiştirilmiş kodu çalıştırmak çalıştırma yeniden.Once you execute the code, you can modify it and run the modified code by selecting Run again. Değiştirilmiş ya da çalıştırmalarını etkileşimli pencerede kod ya da derleme başarısız olursa, tüm C# Derleyici hata iletilerini etkileşimli pencere görüntüler.The modified code either runs in the interactive window or, if compilation fails, the interactive window displays all C# compiler error messages.

Yerel saat dilimi , Try.NET satır içi kod Çalıştırıcısı ve oyun alanı olduğundan, Eşgüdümlü Evrensel Saat ve UTC.The local time zone of the Try.NET inline code runner and playground is Coordinated Universal Time, or UTC. Bu davranışı ve çıktısını gösteren örnekler etkileyebilir DateTime, DateTimeOffset, ve TimeZoneInfo türleri ve üyeleri.This may affect the behavior and the output of examples that illustrate the DateTime, DateTimeOffset, and TimeZoneInfo types and their members.

Bu makalede kullanan bazı örnekler içeren DateTime türü:This article includes several examples that use the DateTime type:

Başlatma örnekleriInitialization Examples

Biçimlendirme DateTime nesneyi dizeler olarakFormatting DateTime objects as strings

Dize olarak ayrıştırma DateTime nesneleriParsing strings as DateTime objects

DateTime ÇözümlemeDateTime resolution

Kültür ve takvimlerCulture and calendars

KalıcılıkPersistence

Bu bölüm birçok yaygın kullanımları için konuları içerir DateTime yapısı:This section contains topics for many common uses of the DateTime struct:

DateTime Değer türü 31 Aralık 9999 M.S. zaman değerlerle (ortak dönemi) ile 11:59: 59'da, 00:00:00-(gece yarısı), 1 Ocak 0001 Anno Domini arasında değişen ve tarihleri temsil ederThe DateTime value type represents dates and times with values ranging from 00:00:00 (midnight), January 1, 0001 Anno Domini (Common Era) through 11:59:59 P.M., December 31, 9999 A.D. (C.E.) Gregoryen takvimindeki.(C.E.) in the Gregorian calendar.

Saat değerlerinin saat döngüsü adlı 100 nanosaniyelik birimleriyle ölçülür.Time values are measured in 100-nanosecond units called ticks. Belirli bir tarih tıklarının sayısını 12:00 gece yarısından itibaren 1 Ocak 0001 M.S. olduğu.A particular date is the number of ticks since 12:00 midnight, January 1, 0001 A.D. (C.E.) içinde GregorianCalendar takvim.(C.E.) in the GregorianCalendar calendar. Sayı artık saniye tarafından eklenen ticks dışlar.The number excludes ticks that would be added by leap seconds. Örneğin, bir saat döngülerinin değeri 31241376000000000 m tarihi 01 Ocak 0100, Cuma gece 12:00:00 temsil eder.For example, a ticks value of 31241376000000000L represents the date Friday, January 01, 0100 12:00:00 midnight. A DateTime değeri her zaman ifade bağlamında açık bir ya da varsayılan takvim.A DateTime value is always expressed in the context of an explicit or default calendar.

Not

Bir saat döngülerinin değeri ile çalışıyorsanız, bazı diğer zaman aralığı, dakika veya saniye gibi dönüştürmek istediğiniz, kullanmanız gereken TimeSpan.TicksPerDay, TimeSpan.TicksPerHour, TimeSpan.TicksPerMinute, TimeSpan.TicksPerSecond, veya TimeSpan.TicksPerMillisecond dönüştürme gerçekleştirmek için sabiti.If you are working with a ticks value that you want to convert to some other time interval, such as minutes or seconds, you should use the TimeSpan.TicksPerDay, TimeSpan.TicksPerHour, TimeSpan.TicksPerMinute, TimeSpan.TicksPerSecond, or TimeSpan.TicksPerMillisecond constant to perform the conversion. Çizgilerine belirtilen sayıda saniye sayısı eklemek için örneğin temsil Second bileşeninin bir DateTime değeri, bir ifadeyi kullanabilirsiniz dateValue.Second + nTicks/Timespan.TicksPerSecond.For example, to add the number of seconds represented by a specified number of ticks to the Second component of a DateTime value, you can use the expression dateValue.Second + nTicks/Timespan.TicksPerSecond.

Bu makaledeki örnekler kümesinin tamamını kaynağı ya da görüntüleyebilirsiniz Visual Basic veya C# github'da docs deposundan.You can view the source for the entire set of examples from this article in either Visual Basic or C# from the docs repository on GitHub.

Not

Alternatif DateTime tarih ve saat değerleri ile saat dilimleri özellikle çalışma için yapı DateTimeOffset yapısı.An alternative to the DateTime structure for working with date and time values in particular time zones is the DateTimeOffset structure. DateTimeOffset Yapısı içinde özel bir tarih ve saat bilgilerini saklar DateTime alan ve, olan tarih ve saat dakika sayısını özel UTC'den farklıdır Int16 alan.The DateTimeOffset structure stores date and time information in a private DateTime field and the number of minutes by which that date and time differs from UTC in a private Int16 field. Bu mümkün kılar bir DateTimeOffset ise belirli bir saat dilimindeki saati yansıtacak şekilde değeri bir DateTime değerini kesin bir şekilde yansıtmak yalnızca UTC ve yerel saat diliminin saat.This makes it possible for a DateTimeOffset value to reflect the time in a particular time zone, whereas a DateTime value can unambiguously reflect only UTC and the local time zone's time. Ne zaman kullanılacağı hakkında bir tartışma için DateTime yapısı veya DateTimeOffset yapısı tarih ve saat değerleri ile çalışırken, bkz: seçme arasında DateTime, DateTimeOffset, TimeSpan ve Timezoneınfo.For a discussion about when to use the DateTime structure or the DateTimeOffset structure when working with date and time values, see Choosing Between DateTime, DateTimeOffset, TimeSpan, and TimeZoneInfo.

Bir DateTime nesnesini başlatmaInitializing a DateTime object

Yeni bir başlangıç değeri atayabilirsiniz DateTime birçok farklı yolla değeri:You can assign an initial value to a new DateTime value in many different ways:

  • Oluşturucu bağımsız değişkenleri için değerleri, belirttiğiniz tek çağırma veya örtülü varsayılan bir oluşturucu kullanın.Calling a constructor, either one where you specify arguments for values, or use the implicit default constructor.
  • Atama bir DateTime bir özellik veya yöntemin dönüş değeri.Assigning a DateTime to the return value of a property or method.
  • Ayrıştırma bir DateTime değeri, dize gösterimi.Parsing a DateTime value from its string representation.
  • Örneği Visual Basic'e özel dil özellikleri kullanıyor bir DateTime.Using Visual Basic-specific language features to instantiate a DateTime.

Aşağıdaki kod parçacıkları her örnekler:The following code snippets show examples of each:

Oluşturucular çağırmaInvoke Constructors

Aşırı yüklemelerinden birini çağırın DateTime belirtin (örneğin, yıl, ay ve gün veya tıklarının sayısını) tarih ve saat değerinin öğelerinin Oluşturucusu.You call any of the overloads of the DateTime constructor that specify elements of the date and time value (such as the year, month, and day, or the number of ticks). Aşağıdaki kodu kullanarak belirli bir tarih oluşturur DateTime yıl, ay, gün, saat, dakika ve saniye belirtme Oluşturucusu.The following code creates a specific date using the DateTime constructor specifying the year, month, day, hour, minute, and second.

Dim date1 As New Date(2008, 5, 1, 8, 30, 52)
DateTime date1 = new DateTime(2008, 5, 1, 8, 30, 52);
Console.WriteLine(date1);

Çağırmayı DateTime istediğiniz zaman yapısı örtülü varsayılan oluşturucu bir DateTime varsayılan değerine başlatıldı.You invoke the DateTime structure's implicit default constructor when you want a DateTime initialized to its default value. (Örtülü varsayılan bir oluşturucuya bir değer türü hakkında daha fazla bilgi için bkz: değer türleri.) Bazı derleyiciler, ayrıca bildirme destekleyen bir DateTime açıkça bir değer için atama olmadan değeri.(For details on the implicit default constructor of a value type, see Value Types.) Some compilers also support declaring a DateTime value without explicitly assigning a value to it. Ayrıca bir değer olmadan bir açık başlatma oluşturma varsayılan değerini verir.Creating a value without an explicit initialization also results in the default value. Aşağıdaki örnekte gösterilmiştir DateTime C# ve Visual Basic'te, örtük varsayılan oluşturucu yanı sıra bir DateTime bildirimi olmadan Visual Basic'te atama.The following example illustrates the DateTime implicit default constructor in C# and Visual Basic, as well as a DateTime declaration without assignment in Visual Basic.

Dim dat1 As DateTime
' The following method call displays 1/1/0001 12:00:00 AM.
Console.WriteLine(dat1.ToString(System.Globalization.CultureInfo.InvariantCulture))
' The following method call displays True.
Console.WriteLine(dat1.Equals(Date.MinValue))

Dim dat2 As New DateTime()
' The following method call displays 1/1/0001 12:00:00 AM.
Console.WriteLine(dat2.ToString(System.Globalization.CultureInfo.InvariantCulture))
' The following method call displays True.
Console.WriteLine(dat2.Equals(Date.MinValue))
DateTime dat1 = new DateTime();
// The following method call displays 1/1/0001 12:00:00 AM.
Console.WriteLine(dat1.ToString(System.Globalization.CultureInfo.InvariantCulture));
// The following method call displays True.
Console.WriteLine(dat1.Equals(DateTime.MinValue));

Hesaplanan değer atamaAssigning a computed value

Atayabileceğiniz DateTime bir tarih ve saat değerini bir özellik veya yöntem tarafından döndürülen nesne.You can assign the DateTime object a date and time value returned by a property or method. Aşağıdaki örnek geçerli tarih ve saat, geçerli Eşgüdümlü Evrensel Saat (UTC) tarih ve saat ve geçerli tarih üç yeni atar DateTime değişkenleri.The following example assigns the current date and time, the current Coordinated Universal Time (UTC) date and time, and the current date to three new DateTime variables.

Dim date1 As Date = Date.Now
Dim date2 As Date = Date.UtcNow
Dim date3 As Date = Date.Today
DateTime date1 = DateTime.Now;
DateTime date2 = DateTime.UtcNow;
DateTime date3 = DateTime.Today;

Bir DateTime temsil eden bir Dize AyrıştırmaParsing a string that represents a DateTime

Parse, ParseExact, TryParse, Ve TryParseExact tüm yöntemler, denk tarih ve saat değerini bir dize dönüştürme.The Parse, ParseExact, TryParse, and TryParseExact methods all convert a string to its equivalent date and time value. Aşağıdaki örneklerde Parse ve ParseExact dönüştürün ve bir dizeyi ayrıştırmak için yöntemler bir DateTime değeri.The following examples use the Parse and ParseExact methods to parse a string and convert it to a DateTime value. İkinci biçim tarafından desteklenen bir form kullanır ISO 8601 temsil eden bir tarih ve saat dize biçiminde standart.The second format uses a form supported by the ISO 8601 standard for a representing date and time in string format. Bu standart gösterim, genellikle web hizmetleri tarih bilgileri aktarmak için kullanılır.This standard representation is often used to transfer date information in web services.

Dim dateString As String = "5/1/2008 8:30:52 AM"
Dim date1 As Date = Date.Parse(dateString,
                       System.Globalization.CultureInfo.InvariantCulture)
Dim iso8601String As String = "20080501T08:30:52Z"
Dim dateISO8602 As Date = DateTime.ParseExact(iso8601String, "yyyyMMddTHH:mm:ssZ",
                              System.Globalization.CultureInfo.InvariantCulture)
Console.WriteLine(dateISO8602)

string dateString = "5/1/2008 8:30:52 AM";
DateTime date1 = DateTime.Parse(dateString,
                          System.Globalization.CultureInfo.InvariantCulture);
string iso8601String = "20080501T08:30:52Z";
DateTime dateISO8602 = DateTime.ParseExact(iso8601String, "yyyyMMddTHH:mm:ssZ",
                                System.Globalization.CultureInfo.InvariantCulture);

TryParse Ve TryParseExact yöntemleri gösteren bir dize geçerli bir temsilini olup olmadığını bir DateTime değeri ve bu dönüştürmeyi gerçekleştirir.The TryParse and TryParseExact methods indicate whether a string is a valid representation of a DateTime value and, if it is, performs the conversion.

Visual Basic için dile özgü sözdizimiLanguage-specific syntax for Visual Basic

Aşağıdaki Visual Basic ifade yeni başlatır DateTime değeri.The following Visual Basic statement initializes a new DateTime value.

Dim date1 As Date = #5/1/2008 8:30:52AM#

DateTime değerleri ve bunların dize temsilleriDateTime values and their string representations

Dahili olarak, tüm DateTime değer 12:00:00 gece yarısından itibaren 1 Ocak 0001 geçen (100 nanosaniyelik aralık sayısını) tıklarının sayısını temsil edilir.Internally, all DateTime values are represented as the number of ticks (the number of 100-nanosecond intervals) that have elapsed since 12:00:00 midnight, January 1, 0001. Gerçek DateTime değeri o değerin göründüğü görüntülendiğinde yolu bağımsız.The actual DateTime value is independent of the way in which that value appears when displayed. Görünümünü bir DateTime değeri dize gösterimine dönüştürür bir biçimlendirme işleminin sonucu bir değerdir.The appearance of a DateTime value is the result of a formatting operation that converts a value to its string representation.

Tarih ve saat değerlerini görünümünü, kültür, Uluslararası Standartlar, uygulama gereksinimleri ve kişisel tercihinize bağlıdır.The appearance of date and time values is dependent on culture, international standards, application requirements, and personal preference. DateTime Yapısı aşırı yüklemeleri ile tarih ve saat değerlerini biçimlendirirken esneklik sunar ToString.The DateTime structure offers flexibility in formatting date and time values through overloads of ToString. Varsayılan DateTime.ToString() yöntem, geçerli kültürün kısa tarih ve uzun saat deseni kullanarak bir tarih ve saat değerini dize gösterimini döndürür.The default DateTime.ToString() method returns the string representation of a date and time value using the current culture's short date and long time pattern. Aşağıdaki örnekte varsayılan DateTime.ToString() yöntemi.The following example uses the default DateTime.ToString() method. Tarih ve saat için geçerli kültürün kısa tarih ve uzun saat deseni kullanılarak gösterir.It displays the date and time using the short date and long time pattern for the current culture. Örnek çalıştırıldığı bilgisayardaki geçerli kültürü en-US kültürdür.The en-US culture is the current culture on the computer on which the example was run.

DateTime date1 = new DateTime(2008, 3, 1, 7, 0, 0);
Console.WriteLine(date1.ToString());
// For en-US culture, displays 3/1/2008 7:00:00 AM
Dim date1 As Date = #3/1/2008 7:00AM#
Console.WriteLine(date1.ToString())
' For en-US culture, displays 3/1/2008 7:00:00 AM

Sunucu istemciden farklı bir kültür burada olabilir web senaryoları desteklemek için belirli bir kültür tarihleri biçimlendirmek gerekebilir.You may need to format dates in a specific culture to support web scenarios where the server may be in a different culture from the client. Kültürü kullanarak belirttiğiniz DateTime.ToString(IFormatProvider) belirli bir kültürün kısa tarih ve uzun saat gösterimini oluşturmak için yöntemi.You specify the culture using the DateTime.ToString(IFormatProvider) method to create the short date and long time representation in a specific culture. Aşağıdaki örnekte DateTime.ToString(IFormatProvider) tarihi görüntüler ve kısa tarih ve uzun saat deseni fr-FR kültürü için kullanarak istediğiniz zaman için yöntem.The following example uses the DateTime.ToString(IFormatProvider) method to display the date and time using the short date and long time pattern for the fr-FR culture.

DateTime date1 = new DateTime(2008, 3, 1, 7, 0, 0);
Console.WriteLine(date1.ToString(System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 01/03/2008 07:00:00
Dim date1 As Date = #3/1/2008 7:00AM#
Console.WriteLine(date1.ToString(System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 01/03/2008 07:00:00

Diğer uygulamalar, bir tarih farklı dize temsillerini gerektirebilir.Other applications may require different string representations of a date. DateTime.ToString(String) Yöntem geçerli kültürün biçimlendirme kurallarını kullanarak bir standart veya özel biçim belirticisi tarafından tanımlanan dize gösterimini döndürür.The DateTime.ToString(String) method returns the string representation defined by a standard or custom format specifier using the formatting conventions of the current culture. Aşağıdaki örnekte DateTime.ToString(String) kültür, örnek çalıştırıldığı bilgisayardaki geçerli kültürün tam tarih ve saat deseni en-US için görüntülenecek yöntemi.The following example uses the DateTime.ToString(String) method to display the full date and time pattern for the en-US culture, the current culture on the computer on which the example was run.

DateTime date1 = new DateTime(2008, 3, 1, 7, 0, 0);
Console.WriteLine(date1.ToString("F"));
// Displays Saturday, March 01, 2008 7:00:00 AM
Dim date1 As Date = #3/1/2008 7:00AM#
Console.WriteLine(date1.ToString("F"))
' Displays Saturday, March 01, 2008 7:00:00 AM

Son olarak, kültür ve biçimi kullanarak belirtebilirsiniz DateTime.ToString(String, IFormatProvider) yöntemi.Finally, you can specify both the culture and the format using the DateTime.ToString(String, IFormatProvider) method. Aşağıdaki örnekte DateTime.ToString(String, IFormatProvider) tam tarih ve saat deseni fr-FR kültürü için görüntülenecek yöntemi.The following example uses the DateTime.ToString(String, IFormatProvider) method to display the full date and time pattern for the fr-FR culture.

DateTime date1 = new DateTime(2008, 3, 1, 7, 0, 0);
Console.WriteLine(date1.ToString("F", new System.Globalization.CultureInfo("fr-FR")));
// Displays samedi 1 mars 2008 07:00:00
Dim date1 As Date = #3/1/2008 7:00AM#
Console.WriteLine(date1.ToString("F", New System.Globalization.CultureInfo("fr-FR")))
' Displays samedi 1 mars 2008 07:00:00

DateTime.ToString(String) Aşırı yükleme de kullanılabilir bir özel biçim dizesiyle diğer biçimlere belirtmek için.The DateTime.ToString(String) overload can also be used with a custom format string to specify other formats. Aşağıdaki örnek bir dize kullanılarak Biçimlendirilecek nasıl gösterir ISO 8601 genellikle web hizmetleri için kullanılan standart biçim.The following example shows how to format a string using the ISO 8601 standard format often used for web services. Karşılık gelen standart biçim dizesi ISO 8601 biçimi yok.The Iso 8601 format does not have a corresponding standard format string.

[!code-csharp-interactiveSystem.DateTime.Formatting#5][!code-csharp-interactiveSystem.DateTime.Formatting#5]

Dim date1 As Date = #3/1/2008 7:00AM#
Console.WriteLine(date1.ToString("yyyyMMddTHH:mm:ssZ"))
' Displays 20080301T07:00:00Z

Biçimlendirme hakkında daha fazla bilgi için DateTime değerleri, görmek standart tarih ve saat biçim dizeleri ve özel tarih ve saat biçim dizeleri.For more information about formatting DateTime values, see Standard Date and Time Format Strings and Custom Date and Time Format Strings.

Dizeleri DateTime değerlerini ayrıştırmaParsing DateTime values from strings

Dönüştürür tarih ve saatin dize gösterimini ayrıştırma bir DateTime değeri.Parsing converts the string representation of a date and time to a DateTime value. Genellikle, tarih ve saat dizelerini uygulamalarda iki farklı kullanımları vardır:Typically, date and time strings have two different usages in applications:

  • Bir tarih ve saat formlar çeşitli alır ve geçerli kültürün veya belirli bir kültürün kurallarını yansıtır.A date and time takes a variety of forms and reflects the conventions of either the current culture or a specific culture. Örneğin, en-US "12/15/2013" veya "15 Aralık 2013" bir tarih değeri giriş, geçerli kültürü bir kullanıcı bir uygulama sağlar.For example, an application allows a user whose current culture is en-US to input a date value as "12/15/2013" or "December 15, 2013". Bir kullanıcı, geçerli kültürü en-gb "12/15/2013" veya "15 Aralık 2013" bir tarih değeri giriş en sağlarIt allows a user whose current culture is en-gb to input a date value as "15/12/2013" or "15 December 2013."

  • Bir tarih ve saat önceden tanımlanmış bir biçimde temsil edilir.A date and time is represented in a predefined format. Örneğin, bir uygulama, uygulama üzerinde çalıştığı kültürü bağımsız olarak "20130103" olarak bir tarih serileştirir.For example, an application serializes a date as "20130103" independently of the culture on which the app is running. Bir uygulama gerektirebilir tarihleri giriş geçerli kültürün kısa tarih biçiminde.An application may require dates be input in the current culture's short date format.

Kullandığınız Parse veya TryParse yöntemi için bir kültür tarafından kullanılan yaygın tarih ve saat biçimleri birinden bir dize dönüştürmek için bir DateTime değeri.You use the Parse or TryParse method to convert a string from one of the common date and time formats used by a culture to a DateTime value. Aşağıdaki örnek nasıl kullanılacağını göstermektedir TryParse için farklı bir kültüre özel biçimde tarih dizeleri dönüştürmek için bir DateTime değeri.The following example shows how you can use TryParse to convert date strings in different culture-specific formats to a DateTime value. Geçerli kültürü İngilizce (İngiltere) ve aramalar için değişiklikleri GetDateTimeFormats() tarih ve saat dizelerini dizisi oluşturmak için yöntemi.It changes the current culture to English (Great Britain) and calls the GetDateTimeFormats() method to generate an array of date and time strings. İçin dizideki her öğe daha sonra geçirir TryParse yöntemi.It then passes each element in the array to the TryParse method. Örnekteki çıktının ayrıştırma yönteminin başarıyla her kültüre özgü tarih ve saat dizelerini dönüştürebilir gösterir.The output from the example shows the parsing method was able to successfully convert each of the culture-specific date and time strings.

System.Threading.Thread.CurrentThread.CurrentCulture = 
    System.Globalization.CultureInfo.CreateSpecificCulture("en-GB");

DateTime date1 = new DateTime(2013, 6, 1, 12, 32, 30);
List<string> badFormats = new List<String>();

Console.WriteLine($"{"Date String",-37} {"Date",-19}\n");
foreach (var dateString in date1.GetDateTimeFormats())
{
    DateTime parsedDate;
    if (DateTime.TryParse(dateString, out parsedDate))
        Console.WriteLine($"{dateString,-37} {DateTime.Parse(dateString),-19}");
    else
        badFormats.Add(dateString);
}

// Display strings that could not be parsed.
if (badFormats.Count > 0)
{
    Console.WriteLine("\nStrings that could not be parsed: ");
    foreach (var badFormat in badFormats)
        Console.WriteLine($"   {badFormat}");
}
// Press "Run" to see the output
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB")

Dim date1 As DateTime = New DateTime(2013, 6, 1, 12, 32, 30)
Dim badFormats As New List(Of String)

Console.WriteLine($"{"Date String",-37} {"Date",-19}")
Console.WriteLine()
For Each dateString As String In date1.GetDateTimeFormats()
    Dim parsedDate As DateTime
    If DateTime.TryParse(dateString, parsedDate) Then
        Console.WriteLine($"{dateString,-37} {DateTime.Parse(dateString),-19:g}")
    Else
        badFormats.Add(dateString)
    End If
Next

' Display strings that could not be parsed.
If badFormats.Count > 0 Then
    Console.WriteLine()
    Console.WriteLine("Strings that could not be parsed: ")
    For Each badFormat In badFormats
        Console.WriteLine($"   {badFormat}")
    Next
End If
' The example displays the following output:
'       Date String                           Date               
'       
'       01/06/2013                            01/06/2013 00:00:00
'       01/06/13                              01/06/2013 00:00:00
'       1/6/13                                01/06/2013 00:00:00
'       1.6.13                                01/06/2013 00:00:00
'       2013-06-01                            01/06/2013 00:00:00
'       01 June 2013                          01/06/2013 00:00:00
'       1 June 2013                           01/06/2013 00:00:00
'       01 June 2013 12:32                    01/06/2013 12:32:00
'       01 June 2013 12:32                    01/06/2013 12:32:00
'       01 June 2013 12:32 PM                 01/06/2013 12:32:00
'       01 June 2013 12:32 PM                 01/06/2013 12:32:00
'       1 June 2013 12:32                     01/06/2013 12:32:00
'       1 June 2013 12:32                     01/06/2013 12:32:00
'       1 June 2013 12:32 PM                  01/06/2013 12:32:00
'       1 June 2013 12:32 PM                  01/06/2013 12:32:00
'       01 June 2013 12:32:30                 01/06/2013 12:32:30
'       01 June 2013 12:32:30                 01/06/2013 12:32:30
'       01 June 2013 12:32:30 PM              01/06/2013 12:32:30
'       01 June 2013 12:32:30 PM              01/06/2013 12:32:30
'       1 June 2013 12:32:30                  01/06/2013 12:32:30
'       1 June 2013 12:32:30                  01/06/2013 12:32:30
'       1 June 2013 12:32:30 PM               01/06/2013 12:32:30
'       1 June 2013 12:32:30 PM               01/06/2013 12:32:30
'       01/06/2013 12:32                      01/06/2013 12:32:00
'       01/06/2013 12:32                      01/06/2013 12:32:00
'       01/06/2013 12:32 PM                   01/06/2013 12:32:00
'       01/06/2013 12:32 PM                   01/06/2013 12:32:00
'       01/06/13 12:32                        01/06/2013 12:32:00
'       01/06/13 12:32                        01/06/2013 12:32:00
'       01/06/13 12:32 PM                     01/06/2013 12:32:00
'       01/06/13 12:32 PM                     01/06/2013 12:32:00
'       1/6/13 12:32                          01/06/2013 12:32:00
'       1/6/13 12:32                          01/06/2013 12:32:00
'       1/6/13 12:32 PM                       01/06/2013 12:32:00
'       1/6/13 12:32 PM                       01/06/2013 12:32:00
'       1.6.13 12:32                          01/06/2013 12:32:00
'       1.6.13 12:32                          01/06/2013 12:32:00
'       1.6.13 12:32 PM                       01/06/2013 12:32:00
'       1.6.13 12:32 PM                       01/06/2013 12:32:00
'       2013-06-01 12:32                      01/06/2013 12:32:00
'       2013-06-01 12:32                      01/06/2013 12:32:00
'       2013-06-01 12:32 PM                   01/06/2013 12:32:00
'       2013-06-01 12:32 PM                   01/06/2013 12:32:00
'       01/06/2013 12:32:30                   01/06/2013 12:32:30
'       01/06/2013 12:32:30                   01/06/2013 12:32:30
'       01/06/2013 12:32:30 PM                01/06/2013 12:32:30
'       01/06/2013 12:32:30 PM                01/06/2013 12:32:30
'       01/06/13 12:32:30                     01/06/2013 12:32:30
'       01/06/13 12:32:30                     01/06/2013 12:32:30
'       01/06/13 12:32:30 PM                  01/06/2013 12:32:30
'       01/06/13 12:32:30 PM                  01/06/2013 12:32:30
'       1/6/13 12:32:30                       01/06/2013 12:32:30
'       1/6/13 12:32:30                       01/06/2013 12:32:30
'       1/6/13 12:32:30 PM                    01/06/2013 12:32:30
'       1/6/13 12:32:30 PM                    01/06/2013 12:32:30
'       1.6.13 12:32:30                       01/06/2013 12:32:30
'       1.6.13 12:32:30                       01/06/2013 12:32:30
'       1.6.13 12:32:30 PM                    01/06/2013 12:32:30
'       1.6.13 12:32:30 PM                    01/06/2013 12:32:30
'       2013-06-01 12:32:30                   01/06/2013 12:32:30
'       2013-06-01 12:32:30                   01/06/2013 12:32:30
'       2013-06-01 12:32:30 PM                01/06/2013 12:32:30
'       2013-06-01 12:32:30 PM                01/06/2013 12:32:30
'       01 June                               01/06/2013 00:00:00
'       01 June                               01/06/2013 00:00:00
'       2013-06-01T12:32:30.0000000           01/06/2013 12:32:30
'       2013-06-01T12:32:30.0000000           01/06/2013 12:32:30
'       Sat, 01 Jun 2013 12:32:30 GMT         01/06/2013 05:32:30
'       Sat, 01 Jun 2013 12:32:30 GMT         01/06/2013 05:32:30
'       2013-06-01T12:32:30                   01/06/2013 12:32:30
'       12:32                                 22/04/2013 12:32:00
'       12:32                                 22/04/2013 12:32:00
'       12:32 PM                              22/04/2013 12:32:00
'       12:32 PM                              22/04/2013 12:32:00
'       12:32:30                              22/04/2013 12:32:30
'       12:32:30                              22/04/2013 12:32:30
'       12:32:30 PM                           22/04/2013 12:32:30
'       12:32:30 PM                           22/04/2013 12:32:30
'       2013-06-01 12:32:30Z                  01/06/2013 05:32:30
'       01 June 2013 19:32:30                 01/06/2013 19:32:30
'       01 June 2013 19:32:30                 01/06/2013 19:32:30
'       01 June 2013 07:32:30 PM              01/06/2013 19:32:30
'       01 June 2013 7:32:30 PM               01/06/2013 19:32:30
'       1 June 2013 19:32:30                  01/06/2013 19:32:30
'       1 June 2013 19:32:30                  01/06/2013 19:32:30
'       1 June 2013 07:32:30 PM               01/06/2013 19:32:30
'       1 June 2013 7:32:30 PM                01/06/2013 19:32:30
'       June 2013                             01/06/2013 00:00:00
'       June 2013                             01/06/2013 00:00:00

Kullandığınız ParseExact ve TryParseExact belirli bir biçimi veya biçimleri için eşleşmesi gereken bir dize dönüştürme yöntemleri bir DateTime değeri.You use the ParseExact and TryParseExact methods to convert a string that must match a particular format or formats to a DateTime value. Bir veya daha fazla tarih ve saat biçim dizeleri ayrıştırma yönteminin bir parametresi olarak belirtin.You specify one or more date and time format strings as a parameter to the parsing method. Aşağıdaki örnekte TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) "yyyyMMdd" biçimi veya "Ssddss" biçimine olmalıdır dizeleri dönüştürmek için yöntem DateTime değerleri.The following example uses the TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) method to convert strings that must be either in a "yyyyMMdd" format or a "HHmmss" format to DateTime values.

string[] formats = { "yyyyMMdd", "HHmmss" };
string[] dateStrings = { "20130816", "20131608", "  20130816   ",
                   "115216", "521116", "  115216  " };
DateTime parsedDate;

foreach (var dateString in dateStrings)
{
    if (DateTime.TryParseExact(dateString, formats, null,
                               System.Globalization.DateTimeStyles.AllowWhiteSpaces |
                               System.Globalization.DateTimeStyles.AdjustToUniversal,
                               out parsedDate))
        Console.WriteLine($"{dateString} --> {parsedDate:g}");
    else
        Console.WriteLine($"Cannot convert {dateString}");
}
// The example displays the following output:
//       20130816 --> 8/16/2013 12:00 AM
//       Cannot convert 20131608
//         20130816    --> 8/16/2013 12:00 AM
//       115216 --> 4/22/2013 11:52 AM
//       Cannot convert 521116
//         115216   --> 4/22/2013 11:52 AM
Dim formats() As String = {"yyyyMMdd", "HHmmss"}
Dim dateStrings() As String = {"20130816", "20131608",
                              "  20130816   ", "115216",
                              "521116", "  115216  "}
Dim parsedDate As DateTime

For Each dateString As String In dateStrings
    If DateTime.TryParseExact(dateString, formats, Nothing,
                           DateTimeStyles.AllowWhiteSpaces Or
                           DateTimeStyles.AdjustToUniversal,
                           parsedDate) Then
        Console.WriteLine($"{dateString} --> {parsedDate:g}")
    Else
        Console.WriteLine($"Cannot convert {dateString}")
    End If
Next
' The example displays the following output:
'       20130816 --> 8/16/2013 12:00 AM
'       Cannot convert 20131608
'         20130816    --> 8/16/2013 12:00 AM
'       115216 --> 4/22/2013 11:52 AM
'       Cannot convert 521116
'         115216   --> 4/22/2013 11:52 AM

Bir ortak kullanımı ParseExact içinde dize temsilinden bir web hizmeti genellikle dönüştürülmesidir ISO 8601 standart biçim.One common use for ParseExact is to convert a string representation from a web service, usually in ISO 8601 standard format. Aşağıdaki kod, kullanılacak doğru biçim dizesini gösterir:The following code shows the correct format string to use:

string iso8601String = "20080501T08:30:52Z";
DateTime dateISO8602 = DateTime.ParseExact(iso8601String, "yyyyMMddTHH:mm:ssZ", 
    System.Globalization.CultureInfo.InvariantCulture);
Console.WriteLine($"{iso8601String} --> {dateISO8602:g}");
Dim iso8601String As String = "20080501T08:30:52Z"
Dim dateISO8602 As DateTime = DateTime.ParseExact(iso8601String, "yyyyMMddTHH:mm:ssZ", CultureInfo.InvariantCulture)
Console.WriteLine($"{iso8601String} --> {dateISO8602:g}")

Bir dize ayrıştırılamazsa Parse ve ParseExact yöntemleri bir özel durum oluşturur.If a string cannot be parsed, the Parse and ParseExact methods throw an exception. TryParse Ve TryParseExact yöntemleri döndürür bir Boolean dönüştürme başarılı veya başarısız olduğunu belirten değer.The TryParse and TryParseExact methods return a Boolean value that indicates whether the conversion succeeded or failed. Kullanmanız gereken TryParse veya TryParseExact performans olduğu önemli senaryolarda yöntemleri.You should use the TryParse or TryParseExact methods in scenarios where performance is important. Tarih ve saat dizelerini ayrıştırma işleminde yüksek başarısızlık oranına eğilimindedir ve özel durum işleme pahalıdır.The parsing operation for date and time strings tends to have a high failure rate, and exception handling is expensive. Dizeleri kullanıcılar tarafından giriş bu yöntemlerini kullanmanız veya bilinmeyen bir kaynaktan geliyor.Use these methods if strings are input by users or coming from an unknown source.

Tarih ve saat değerlerini ayrıştırma hakkında daha fazla bilgi için bkz. ayrıştırma tarih ve saat dizeleri.For more information about parsing date and time values, see Parsing Date and Time Strings.

DateTime değerleriDateTime values

Saat değerleri açıklamaları DateTime türü genellikle ifade edilir Eşgüdümlü Evrensel Saat (UTC) standardını kullanarak.Descriptions of time values in the DateTime type are often expressed using the Coordinated Universal Time (UTC) standard. Eşgüdümlü Evrensel Saat Greenwich saati (GMT) için uluslararası olarak tanınan adıdır.Coordinated Universal Time is the internationally recognized name for Greenwich Mean Time (GMT). Eşgüdümlü Evrensel Saat UTC başlangıç noktasını sıfır derece boylam ölçülen zamandır.Coordinated Universal Time is the time as measured at zero degrees longitude, the UTC origin point. Yaz Saati UTC için geçerli değildir.Daylight saving time is not applicable to UTC.

Belirli bir saat dilimine göre yerel saattir.Local time is relative to a particular time zone. Bir saat dilimi, bir saat dilimi uzaklığı ile ilişkilidir.A time zone is associated with a time zone offset. Bir saat dilimi farkı UTC başlangıç noktasını saat cinsinden saat dilimi öteleme ' dir.A time zone offset is the displacement of the time zone measured in hours from the UTC origin point. Ayrıca, yerel saat ekler veya bir zaman aralığı ayarlaması çıkarır ışığından tarafından isteğe bağlı olarak etkilenir.In addition, local time is optionally affected by daylight saving time, which adds or subtracts a time interval adjustment. Yerel saat, gün ışığından yararlanma saatine gerekirse Tahtayı ve UTC saat dilimi kaymasını ekleyerek hesaplanır.Local time is calculated by adding the time zone offset to UTC and adjusting for daylight saving time if necessary. Saat dilimi farkı UTC kaynak noktasına sıfırdır.The time zone offset at the UTC origin point is zero.

UTC saati dosyalarında hesaplamalar, karşılaştırmaları ve depolanmasını tarih ve saat için uygundur.UTC time is suitable for calculations, comparisons, and storing dates and time in files. Yerel saat içindeki kullanıcı arabirimleri olan Masaüstü uygulamaları için uygundur.Local time is appropriate for display in user interfaces of desktop applications. Saat dilimiyle uyumlu uygulamalarda (örneğin, birçok Web uygulamaları), ayrıca bir diğer saat dilimi sayısı ile çalışmak gerekir.Time zone-aware applications (such as many Web applications) also need to work with a number of other time zones.

Varsa Kind özelliği bir DateTime nesnedir DateTimeKind.Unspecified, yerel saat, UTC saati veya diğer bir saat diliminde bir süre temsil edilen zamandan olup belirtilmemiş.If the Kind property of a DateTime object is DateTimeKind.Unspecified, it is unspecified whether the time represented is local time, UTC time, or a time in some other time zone.

DateTime çözümlemeDateTime resolution

Not

Tarih ve saat aritmetiği gerçekleştirmek için alternatif olarak DateTime geçen süreyi ölçmek için değerleri kullanabilirsiniz Stopwatch sınıfı.As an alternative to performing date and time arithmetic on DateTime values to measure elapsed time, you can use the Stopwatch class.

Ticks Özelliği, tarih ve saat değerleri bir on milyon bir saniye birimi ifade eder.The Ticks property expresses date and time values in units of one ten-millionth of a second. Millisecond Özelliği bir tarih ve saat değerinde saniyenin binde biri döndürür.The Millisecond property returns the thousandths of a second in a date and time value. Yinelenen çağrıları kullanarak DateTime.Now geçen süreyi ölçmek için özellik sistem saatini bağlıdır.Using repeated calls to the DateTime.Now property to measure elapsed time is dependent on the system clock. Windows 7 ve Windows 8 sistemleri üzerindeki sistem saatinin yaklaşık 15 milisaniye çözünürlüğü vardır.The system clock on Windows 7 and Windows 8 systems has a resolution of approximately 15 milliseconds. Bu çözüm, 100 milisaniyeden kısa zaman aralıkları etkiler.This resolution affects small time intervals less than 100 milliseconds.

Aşağıdaki örnek, geçerli tarih ve saat değerleri bağımlılığı sistem saatinin çözünürlüğüne gösterir.The following example illustrates the dependence of current date and time values on the resolution of the system clock. Örnekte, bir dış döngü 20 kez yineler ve dış döngü geciktirmek için bir iç döngüye sunar.In the example, an outer loop repeats 20 times, and an inner loop serves to delay the outer loop. Dış döngü sayacının değeri 10, bir çağrı ise Thread.Sleep yöntem beş milisaniyeden kısa gecikme sunar.If the value of the outer loop counter is 10, a call to the Thread.Sleep method introduces a five-millisecond delay. Aşağıdaki örnek tarafından döndürülen milisaniye sayısını gösterir DateTime.Now.Milliseconds çağrısından sonra yalnızca özellik değişiklikleri Thread.Sleep.The following example shows the number of milliseconds returned by the DateTime.Now.Milliseconds property changes only after the call to Thread.Sleep.

String output = "";
for (int ctr = 0; ctr <= 20; ctr++)
{
    output += String.Format($"{DateTime.Now.Millisecond}\n");
    // Introduce a delay loop.
    for (int delay = 0; delay <= 1000; delay++)
    { }

    if (ctr == 10)
    {
        output += "Thread.Sleep called...\n";
        System.Threading.Thread.Sleep(5);
    }
}
Console.WriteLine(output);
// Press "Run" to see the output
Dim output As String = ""
For ctr As Integer = 0 To 20
    output += Date.Now.Millisecond.ToString() + vbCrLf
    ' Introduce a delay loop.
    For delay As Integer = 0 To 1000
    Next

    If ctr = 10 Then
        output += "Thread.Sleep called..." + vbCrLf
        Thread.Sleep(5)
    End If
Next
Console.WriteLine(output)
' The example displays output like the following:
'       111
'       111
'       111
'       111
'       111
'       111
'       111
'       111
'       111
'       111
'       111
'       Thread.Sleep called...
'       143
'       143
'       143
'       143
'       143
'       143
'       143
'       143
'       143
'       143

DateTime işlemleriDateTime operations

Bir yönteme bir DateTime gibi yapı Add veya Subtract, yapısı değerini değiştirmez.A calculation using a DateTime structure, such as Add or Subtract, does not modify the value of the structure. Bunun yerine, yeni bir hesaplama döndürür DateTime değeri olan hesaplamayı sonucunu yapısı.Instead, the calculation returns a new DateTime structure whose value is the result of the calculation.

Dikkate gün ışığından yararlanma saat dilimi (örneğin UTC ve yerel saat arasında veya bir saat dilimi ve başka arasında) arasında dönüştürme işlemleri, ancak aritmetik ve karşılaştırma işlemleri yapın.Conversion operations between time zones (such as between UTC and local time, or between one time zone and another) take daylight saving time into account, but arithmetic and comparison operations do not.

DateTime Yapının kendisi, başka bir zaman dilimine dönüştürmek için sınırlı destek sunar.The DateTime structure itself offers limited support for converting from one time zone to another. Kullanabileceğiniz ToLocalTime yerel saat veya sizin için UTC yöntemini kullanabilir ToUniversalTime yerel saatten UTC'ye dönüştürmek için yöntemi.You can use the ToLocalTime method to convert UTC to local time, or you can use the ToUniversalTime method to convert from local time to UTC. Ancak, tam bir saat dilimi dönüştürme yöntemleri kümesini kullanılabilir TimeZoneInfo sınıfı.However, a full set of time zone conversion methods is available in the TimeZoneInfo class. Herhangi diğer saat diliminde bu yöntemleri kullanarak zaman zaman dünyanın saat dilimlerini herhangi birinde Dönüştür.You convert the time in any one of the world's time zones to the time in any other time zone using these methods.

Hesaplamaları ve karşılaştırmalarını DateTime nesneler, yalnızca nesnelerin aynı saat dilimindeki saatleri temsil ediyorsa anlamlıdır.Calculations and comparisons of DateTime objects are meaningful only if the objects represent times in the same time zone. Kullanabileceğiniz bir TimeZoneInfo temsil etmek için nesne bir DateTime iki birbirine sıkı şekilde bağlı ancak değerinin saat dilimi.You can use a TimeZoneInfo object to represent a DateTime value's time zone, although the two are loosely coupled. A DateTime nesnesi, o tarih ve saat değerinin saat dilimini temsil eden bir nesne döndürür bir özelliğe sahip değildir.A DateTime object does not have a property that returns an object that represents that date and time value's time zone. Kind Özelliği gösterir bir DateTime temsil eder, yerel saati UTC veya belirtilmeyen.The Kind property indicates if a DateTime represents UTC, local time, or is unspecified. Saat dilimiyle uyumlu bir uygulamada, saat diliminde belirlemek için bazı dış mekanizmayı kullandığınız gereken bir DateTime nesnesi oluşturuldu.In a time zone-aware application, you must rely on some external mechanism to determine the time zone in which a DateTime object was created. Her ikisi de sarmalayan bir yapı kullanabileceğinizi DateTime değeri ve TimeZoneInfo temsil eden nesne DateTime değerinin saat dilimi.You could use a structure that wraps both the DateTime value and the TimeZoneInfo object that represents the DateTime value's time zone. Hesaplamaları ve karşılaştırmalar UTC kullanımıyla ilgili ayrıntılar için DateTime değerleri, görmek tarih ve saatlerle aritmetik işlemler gerçekleştirme.For details on using UTC in calculations and comparisons with DateTime values, see Performing Arithmetic Operations with Dates and Times.

Her DateTime üyeyi örtük olarak kullanan Gregoryen takvimini, işlemi gerçekleştirmek için.Each DateTime member implicitly uses the Gregorian calendar to perform its operation. Özel durumlar örtük olarak bir takvim belirtmek yöntemlerdir.Exceptions are methods that implicitly specify a calendar. Bunlar, bir takvim belirtmek oluşturucular içerir ve parametre yöntemleriyle türetilen IFormatProvider, gibi System.Globalization.DateTimeFormatInfo.These include constructors that specify a calendar, and methods with a parameter derived from IFormatProvider, such as System.Globalization.DateTimeFormatInfo.

İşlemleri üyeleri tarafından DateTime türü ele artık yıl ve ay gün sayısı gibi hesap ayrıntıları.Operations by members of the DateTime type take into account details such as leap years and the number of days in a month.

DateTime değerleri ve takvimlerDateTime values and calendars

Tüm türetilen Takvim sınıflarının .NET Framework sınıf kitaplığı içerir Calendar sınıfı.The .NET Framework Class Library includes a number of calendar classes, all of which are derived from the Calendar class. Bunlar:They are:

Her kültür, salt okunur tarafından tanımlanan varsayılan bir takvimi kullandığı CultureInfo.Calendar özelliği.Each culture uses a default calendar defined by its read-only CultureInfo.Calendar property. Her kültür, salt okunur tarafından tanımlanan bir veya daha fazla takvimler destekleyebilir CultureInfo.OptionalCalendars özelliği.Each culture may support one or more calendars defined by its read-only CultureInfo.OptionalCalendars property. Şu anda belirli bir tarafından kullanılan takvim CultureInfo nesnesi tarafından tanımlanan kendi DateTimeFormatInfo.Calendar özelliği.The calendar currently used by a specific CultureInfo object is defined by its DateTimeFormatInfo.Calendar property. Bulunan takvimleri biri olmalıdır CultureInfo.OptionalCalendars dizisi.It must be one of the calendars found in the CultureInfo.OptionalCalendars array.

Bir kültürün geçerli takvimi, o kültür için tüm biçimlendirme işlemlerinde kullanılır.A culture's current calendar is used in all formatting operations for that culture. Örneğin, içeren Thai Budist kültürün varsayılan takvimi tarafından temsil edilen Thai Budist Era Takvim olan ThaiBuddhistCalendar sınıfı.For example, the default calendar of the Thai Buddhist culture is the Thai Buddhist Era calendar, which is represented by the ThaiBuddhistCalendar class. Olduğunda bir CultureInfo içeren Thai Budist kültürü temsil eden bir nesne, bir tarih ve saat biçimlendirme işlemi kullanıldığında, Thai Budist Era Takvim varsayılan olarak kullanılır.When a CultureInfo object that represents the Thai Buddhist culture is used in a date and time formatting operation, the Thai Buddhist Era calendar is used by default. Gregoryen takvim yalnızca kullanılan kültürün DateTimeFormatInfo.Calendar özelliği değiştirildiğinde, aşağıdaki örnekte gösterildiği gibi:The Gregorian calendar is used only if the culture's DateTimeFormatInfo.Calendar property is changed, as the following example shows:

var thTH = new System.Globalization.CultureInfo("th-TH");
var value = new DateTime(2016, 5, 28);

Console.WriteLine(value.ToString(thTH));

thTH.DateTimeFormat.Calendar = new System.Globalization.GregorianCalendar();
Console.WriteLine(value.ToString(thTH));
// Press "Run" to see the output
Dim thTH As New CultureInfo("th-TH")
Dim value As New DateTime(2016, 5, 28)

Console.WriteLine(value.ToString(thTH))

thTH.DateTimeFormat.Calendar = New GregorianCalendar()
Console.WriteLine(value.ToString(thTH))
' The example displays the following output:
'       28/5/2559 0:00:00
'       28/5/2016 0:00:00

Bir kültürün geçerli takvimi de o kültür için tüm ayrıştırma işlemlerinde aşağıdaki örnekte gösterildiği gibi kullanılır.A culture's current calendar is also used in all parsing operations for that culture, as the following example shows.

var thTH = new System.Globalization.CultureInfo("th-TH");
var value = DateTime.Parse("28/05/2559", thTH);
Console.WriteLine(value.ToString(thTH));

thTH.DateTimeFormat.Calendar = new System.Globalization.GregorianCalendar();
Console.WriteLine(value.ToString(thTH));
// Press "Run" to see the output
Private Sub ThaiBuddhistEraParse()
    Dim thTH As New CultureInfo("th-TH")
    Dim value As DateTime = DateTime.Parse("28/5/2559", thTH)
    Console.WriteLine(value.ToString(thTH))

    thTH.DateTimeFormat.Calendar = New GregorianCalendar()
    Console.WriteLine(value.ToString(thTH))
    ' The example displays the following output:
    '       28/5/2559 0:00:00
    '       28/5/2016 0:00:00
End Sub

Örneği bir DateTime çağırarak tarih ve saat öğelerinin (yıl, ay ve gün sayısı) belirli bir takvim kullanarak değeri bir DateTime Oluşturucusu içeren bir calendar parametre ve bir geçirerekCalendarbu takvimi temsil eden nesne.You instantiate a DateTime value using the date and time elements (number of the year, month, and day) of a specific calendar by calling a DateTime constructor that includes a calendar parameter and passing it a Calendar object that represents that calendar. Aşağıdaki örnekte tarih ve saat öğelerden ThaiBuddhistCalendar takvim.The following example uses the date and time elements from the ThaiBuddhistCalendar calendar.

var thTH = new System.Globalization.CultureInfo("th-TH");
var dat = new DateTime(2559, 5, 28, thTH.DateTimeFormat.Calendar);
Console.WriteLine($"Thai Buddhist era date: {dat.ToString("d", thTH)}");
Console.WriteLine($"Gregorian date:   {dat:d}");
// Press "Run" to see the output
Dim thTH As New CultureInfo("th-TH")
Dim dat As New DateTime(2559, 5, 28, thTH.DateTimeFormat.Calendar)
Console.WriteLine("Thai Buddhist Era date: {0}", dat.ToString("d", thTH))
Console.WriteLine("Gregorian date:   {0:d}", dat)
' The example displays the following output:
'       Thai Buddhist Era Date:  28/5/2559
'       Gregorian Date:     28/05/2016

DateTime dahil etmezseniz oluşturucular bir calendar parametre varsayar tarih ve saat öğeleri, Gregoryen takvimindeki birimleri olarak ifade edilir.DateTime constructors that do not include a calendar parameter assume that the date and time elements are expressed as units in the Gregorian calendar.

Diğer tüm DateTime Gregoryen takvim özellikleri ve yöntemleri kullanın.All other DateTime properties and methods use the Gregorian calendar. Örneğin, DateTime.Year özelliği, Gregoryen takvimindeki yılı döndürür ve DateTime.IsLeapYear(Int32) yöntemi varsayar year Gregoryen takvimindeki bir yılın parametredir.For example, the DateTime.Year property returns the year in the Gregorian calendar, and the DateTime.IsLeapYear(Int32) method assumes that the year parameter is a year in the Gregorian calendar. Her DateTime Gregoryen takvimini kullanır üye karşılık gelen bir üyesi olan Calendar kullanan özel bir takvim sınıfı.Each DateTime member that uses the Gregorian calendar has a corresponding member of the Calendar class that uses a specific calendar. Örneğin, Calendar.GetYear yöntemi belirli bir takvim yılı döndürür ve Calendar.IsLeapYear yöntemi yorumlar year parametre olarak, belirli bir takvimdeki bir yılın sayı.For example, the Calendar.GetYear method returns the year in a specific calendar, and the Calendar.IsLeapYear method interprets the year parameter as a year number in a specific calendar. Aşağıdaki örnek, her ikisi de kullanır DateTime ve karşılık gelen üyelerinin ThaiBuddhistCalendar sınıfı.The following example uses both the DateTime and the corresponding members of the ThaiBuddhistCalendar class.

var thTH = new System.Globalization.CultureInfo("th-TH");
var cal = thTH.DateTimeFormat.Calendar;
var dat = new DateTime(2559, 5, 28, cal);
Console.WriteLine("Using the Thai Buddhist Era calendar:");
Console.WriteLine($"Date: {dat.ToString("d", thTH)}");
Console.WriteLine($"Year: {cal.GetYear(dat)}");
Console.WriteLine($"Leap year: {cal.IsLeapYear(cal.GetYear(dat))}\n");

Console.WriteLine("Using the Gregorian calendar:");
Console.WriteLine($"Date: {dat:d}");
Console.WriteLine($"Year: {dat.Year}");
Console.WriteLine($"Leap year: {DateTime.IsLeapYear(dat.Year)}");
// Press "Run" to see the output
Dim thTH As New CultureInfo("th-TH")
Dim cal As Calendar = thTH.DateTimeFormat.Calendar
Dim dat As New DateTime(2559, 5, 28, cal)
Console.WriteLine("Using the Thai Buddhist Era calendar:")
Console.WriteLine("Date: {0}", dat.ToString("d", thTH))
Console.WriteLine("Year: {0}", cal.GetYear(dat))
Console.WriteLine("Leap year: {0}", cal.IsLeapYear(cal.GetYear(dat)))
Console.WriteLine()

Console.WriteLine("Using the Gregorian calendar:")
Console.WriteLine("Date: {0:d}", dat)
Console.WriteLine("Year: {0}", dat.Year)
Console.WriteLine("Leap year: {0}", DateTime.IsLeapYear(dat.Year))
' The example displays the following output:
'       Using the Thai Buddhist Era calendar
'       Date :   28/5/2559
'       Year: 2559
'       Leap year :   True
'
'       Using the Gregorian calendar
'       Date :   28/05/2016
'       Year: 2016
'       Leap year :   True

DateTime Yapı içeren bir DayOfWeek özelliği, Gregoryen takvimindeki bir haftanın gününü döndürür.The DateTime structure includes a DayOfWeek property that returns the day of the week in the Gregorian calendar. Yılın hafta numarasını almak izin veren bir üye içermez.It does not include a member that allows you to retrieve the week number of the year. Yılın haftası almak için tek tek takvimin çağrı Calendar.GetWeekOfYear yöntemi.To retrieve the week of the year, call the individual calendar's Calendar.GetWeekOfYear method. Aşağıdaki örnek, bir gösterim sağlar.The following example provides an illustration.

var thTH = new System.Globalization.CultureInfo("th-TH");
var thCalendar = thTH.DateTimeFormat.Calendar;
var dat = new DateTime(1395, 8, 18, thCalendar);
Console.WriteLine("Using the Thai Buddhist Era calendar:");
Console.WriteLine($"Date: {dat.ToString("d", thTH)}");
Console.WriteLine($"Day of Week: {thCalendar.GetDayOfWeek(dat)}");
Console.WriteLine($"Week of year: {thCalendar.GetWeekOfYear(dat, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Sunday)}\n");

var greg = new System.Globalization.GregorianCalendar();
Console.WriteLine("Using the Gregorian calendar:");
Console.WriteLine($"Date: {dat:d}");
Console.WriteLine($"Day of Week: {dat.DayOfWeek}");
Console.WriteLine($"Week of year: {greg.GetWeekOfYear(dat, System.Globalization.CalendarWeekRule.FirstDay,DayOfWeek.Sunday)}");
// Press "Run" to see the output
Dim thTH As New CultureInfo("th-TH")
Dim thCalendar As Calendar = thTH.DateTimeFormat.Calendar
Dim dat As New DateTime(1395, 8, 18, thCalendar)
Console.WriteLine("Using the Thai Buddhist Era calendar:")
Console.WriteLine("Date: {0}", dat.ToString("d", thTH))
Console.WriteLine("Day of Week: {0}", thCalendar.GetDayOfWeek(dat))
Console.WriteLine("Week of year: {0}",
                thCalendar.GetWeekOfYear(dat, CalendarWeekRule.FirstDay,
                                       DayOfWeek.Sunday))
Console.WriteLine()

Dim greg As Calendar = New GregorianCalendar()
Console.WriteLine("Using the Gregorian calendar:")
Console.WriteLine("Date: {0:d}", dat)
Console.WriteLine("Day of Week: {0}", dat.DayOfWeek)
Console.WriteLine("Week of year: {0}",
                 greg.GetWeekOfYear(dat, CalendarWeekRule.FirstDay,
                                    DayOfWeek.Sunday))
' The example displays the following output:
'       Using the Thai Buddhist Era calendar
'       Date :  18/8/1395
'       Day of Week: Sunday
'       Week of year: 34
'       
'       Using the Gregorian calendar
'       Date :  18/08/0852
'       Day of Week: Sunday
'       Week of year: 34

Tarihler ve takvimler hakkında daha fazla bilgi için bkz. takvimlerle çalışma.For more information on dates and calendars, see Working with Calendars.

Kalıcı DateTime değerleriPersisting DateTime values

Kalıcı yapılabilir DateTime dört farklı şekilde değerleri:You can persist DateTime values in four ways:

Geri yükleyen yordam emin olmanız gerekir DateTime değerlerin değil veya veri kaybı seçtiğiniz yöntemden bağımsız olarak bir özel durum.You must ensure that the routine that restores the DateTime values doesn't lose data or throw an exception regardless of which technique you choose. DateTime gidiş dönüş değerleri olmalıdır.DateTime values should round-trip. Diğer bir deyişle, geri yüklenen değeri ve özgün değeri aynı olmalıdır.That is, the original value and the restored value should be the same. Ve özgün DateTime değeri tek bir anı temsil eder, aynı anda zaman geri zaman tanımlamanız gerekir.And if the original DateTime value represents a single instant of time, it should identify the same moment of time when it's restored.

Dize olarak kalıcı değerleriPersisting values as strings

Başarılı bir şekilde geri yüklemek için DateTime dize olarak kalıcı değerleri bu kuralları izleyin:To successfully restore DateTime values that are persisted as strings, follow these rules:

  • Dize ne zaman kalıcı olarak geri yüklediğinizde hakkında kültüre özgü biçimlendirme aynı varsayımlar.Make the same assumptions about culture-specific formatting when you restore the string as when you persisted it. Bir dize, geçerli kültürü en üzerinde kaydedildi sistem kültürünü farklı bir sisteme geri emin olmak için çağrı ToString sabit kültürün kurallarını kullanarak dize kaydetmek için aşırı yükleme.To ensure that a string can be restored on a system whose current culture is different from the culture of the system it was saved on, call the ToString overload to save the string by using the conventions of the invariant culture. Çağrı Parse(String, IFormatProvider, DateTimeStyles) veya TryParse(String, IFormatProvider, DateTimeStyles, DateTime) dize sabit kültürün kurallarını kullanarak geri yüklemek için aşırı yükleme.Call the Parse(String, IFormatProvider, DateTimeStyles) or TryParse(String, IFormatProvider, DateTimeStyles, DateTime) overload to restore the string by using the conventions of the invariant culture. Hiçbir zaman kullanmayın ToString(), Parse(String), veya TryParse(String, DateTime) aşırı yüklemeler geçerli iş parçacığı kültürü kurallarını kullanın.Never use the ToString(), Parse(String), or TryParse(String, DateTime) overloads, which use the conventions of the current thread culture.

  • Tarih saat tek bir anı temsil ediyorsa, ne zaman, hatta farklı bir saat diliminde üzerinde geri zaman içinde aynı anı temsil ettiğini emin olun.If the date represents a single moment of time, ensure that it represents the same moment in time when it's restored, even on a different time zone. Dönüştürme DateTime kaydetmeden önce değeri için Eşgüdümlü Evrensel Saat (UTC).Convert the DateTime value to Coordinated Universal Time (UTC) before saving it. Ayrıca, saat dilimi bilgileri ile birlikte değeri serileştirebiliyorsa.You can also serialize the value along with time zone information. Bu yaklaşımı hakkında daha fazla bilgi için bkz: DateTime seri hale getirme ve saat dilimi veri.For more information about this approach, see Serializing DateTime and time zone data.

Kalıcı yapılan yaygın hata DateTime dizeler olarak değeri varsayılan veya geçerli kültürün biçimlendirme kurallarını üzerinde yararlanmayı.The most common error made when persisting DateTime values as strings is to rely on the formatting conventions of the default or current culture. Geçerli kültür kaydetme ve geri yükleme dizeler, farklı ise sorunları ortaya çıkar.Problems arise if the current culture is different when saving and restoring the strings. Aşağıdaki örnek, bu sorunları gösterir.The following example illustrates these problems. Bu durumda İngilizce (Amerika Birleşik Devletleri), geçerli kültürün biçimlendirme kurallarını kullanarak beş tarihleri kaydeder.It saves five dates using the formatting conventions of the current culture, which in this case is English (United States). Bu, bu durumda İngilizce (İngiltere), farklı bir kültür biçimlendirme kurallarını kullanarak tarihleri geri yükler.It restores the dates using the formatting conventions of a different culture, which in this case is English (Great Britain). İki kültürün biçimlendirme kurallarını farklı olduğundan, iki tarih geri yüklenemiyor ve kalan üç tarihleri yanlış yorumlanır.Because the formatting conventions of the two cultures are different, two of the dates can't be restored, and the remaining three dates are interpreted incorrectly. Ayrıca, geri yüklenen, zaman içinde tek dakika orijinal tarih ve saat değerlerini temsil ediyorsa saat dilimi bilgilerini kayıp olduğundan kez yanlış.Also, if the original date and time values represent single moments in time, the restored times are incorrect because time zone information is lost.

public static void PersistAsLocalStrings()
{
    SaveLocalDatesAsString();
    RestoreLocalDatesFromString();
}

private static void SaveLocalDatesAsString()
{
    DateTime[] dates = { new DateTime(2014, 6, 14, 6, 32, 0),
                   new DateTime(2014, 7, 10, 23, 49, 0),
                   new DateTime(2015, 1, 10, 1, 16, 0),
                   new DateTime(2014, 12, 20, 21, 45, 0),
                   new DateTime(2014, 6, 2, 15, 14, 0) };
    string output = null;

    Console.WriteLine($"Current Time Zone: {TimeZoneInfo.Local.DisplayName}");
    Console.WriteLine($"The dates on an {Thread.CurrentThread.CurrentCulture.Name} system:");
    for (int ctr = 0; ctr < dates.Length; ctr++)
    {
        Console.WriteLine(dates[ctr].ToString("f"));
        output += dates[ctr].ToString() + (ctr != dates.Length - 1 ? "|" : "");
    }
    StreamWriter sw = new StreamWriter(filenameTxt);
    sw.Write(output);
    sw.Close();
    Console.WriteLine("Saved dates...");
}

private static void RestoreLocalDatesFromString()
{
    TimeZoneInfo.ClearCachedData();
    Console.WriteLine($"Current Time Zone: {TimeZoneInfo.Local.DisplayName}");
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB");
    StreamReader sr = new StreamReader(filenameTxt);
    string[] inputValues = sr.ReadToEnd().Split(new char[] { '|' },
                                                StringSplitOptions.RemoveEmptyEntries);
    sr.Close();
    Console.WriteLine("The dates on an {0} system:",
                      Thread.CurrentThread.CurrentCulture.Name);
    foreach (var inputValue in inputValues)
    {
        DateTime dateValue;
        if (DateTime.TryParse(inputValue, out dateValue))
        {
            Console.WriteLine($"'{inputValue}' --> {dateValue:f}");
        }
        else
        {
            Console.WriteLine("Cannot parse '{inputValue}'");
        }
    }
    Console.WriteLine("Restored dates...");
}
// When saved on an en-US system, the example displays the following output:
//       Current Time Zone: (UTC-08:00) Pacific Time (US & Canada)
//       The dates on an en-US system:
//       Saturday, June 14, 2014 6:32 AM
//       Thursday, July 10, 2014 11:49 PM
//       Saturday, January 10, 2015 1:16 AM
//       Saturday, December 20, 2014 9:45 PM
//       Monday, June 02, 2014 3:14 PM
//       Saved dates...
//
// When restored on an en-GB system, the example displays the following output:
//       Current Time Zone: (UTC) Dublin, Edinburgh, Lisbon, London
//       The dates on an en-GB system:
//       Cannot parse //6/14/2014 6:32:00 AM//
//       //7/10/2014 11:49:00 PM// --> 07 October 2014 23:49
//       //1/10/2015 1:16:00 AM// --> 01 October 2015 01:16
//       Cannot parse //12/20/2014 9:45:00 PM//
//       //6/2/2014 3:14:00 PM// --> 06 February 2014 15:14
//       Restored dates...
Public Sub PersistAsLocalStrings()
    SaveDatesAsStrings()
    RestoreDatesAsStrings()
End Sub

Private Sub SaveDatesAsStrings()
    Dim dates() As Date = {#6/14/2014 6:32AM#, #7/10/2014 11:49PM#,
                          #1/10/2015 1:16AM#, #12/20/2014 9:45PM#,
                          #6/2/2014 3:14PM#}
    Dim output As String = Nothing

    Console.WriteLine($"Current Time Zone: {TimeZoneInfo.Local.DisplayName}")
    Console.WriteLine($"The dates on an {Thread.CurrentThread.CurrentCulture.Name} system:")
    For ctr As Integer = 0 To dates.Length - 1
        Console.WriteLine(dates(ctr).ToString("f"))
        output += dates(ctr).ToString() + If(ctr <> dates.Length - 1, "|", "")
    Next
    Dim sw As New StreamWriter(filenameTxt)
    sw.Write(output)
    sw.Close()
    Console.WriteLine("Saved dates...")
End Sub

Private Sub RestoreDatesAsStrings()
    TimeZoneInfo.ClearCachedData()
    Console.WriteLine($"Current Time Zone: {TimeZoneInfo.Local.DisplayName}")
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB")
    Dim sr As New StreamReader(filenameTxt)
    Dim inputValues() As String = sr.ReadToEnd().Split({"|"c}, StringSplitOptions.RemoveEmptyEntries)
    sr.Close()
    Console.WriteLine($"The dates on an {Thread.CurrentThread.CurrentCulture.Name} system:")
    For Each inputValue In inputValues
        Dim dateValue As Date
        If DateTime.TryParse(inputValue, dateValue) Then
            Console.WriteLine($"'{inputValue}' --> {dateValue:f}")
        Else
            Console.WriteLine($"Cannot parse '{inputValue}'")
        End If
    Next
    Console.WriteLine("Restored dates...")
End Sub
' When saved on an en-US system, the example displays the following output:
'       Current Time Zone: (UTC-08:00) Pacific Time (US & Canada)
'       The dates on an en-US system:
'       Saturday, June 14, 2014 6:32 AM
'       Thursday, July 10, 2014 11:49 PM
'       Saturday, January 10, 2015 1:16 AM
'       Saturday, December 20, 2014 9:45 PM
'       Monday, June 02, 2014 3:14 PM
'       Saved dates...
'
' When restored on an en-GB system, the example displays the following output:
'       Current Time Zone: (UTC) Dublin, Edinburgh, Lisbon, London
'       The dates on an en-GB system:
'       Cannot parse '6/14/2014 6:32:00 AM'
'       '7/10/2014 11:49:00 PM' --> 07 October 2014 23:49
'       '1/10/2015 1:16:00 AM' --> 01 October 2015 01:16
'       Cannot parse '12/20/2014 9:45:00 PM'
'       '6/2/2014 3:14:00 PM' --> 06 February 2014 15:14
'       Restored dates...

Gidiş dönüşlü hale getirmek için DateTime değerler, başarılı bir şekilde, şu adımları izleyin:To round-trip DateTime values successfully, follow these steps:

  1. Tek bir dakika süre değerlerini temsil ediyorsa, bunları yerel saatten UTC'ye çağırarak dönüştürün ToUniversalTime yöntemi.If the values represent single moments of time, convert them from the local time to UTC by calling the ToUniversalTime method.
  2. Tarihler için bunların dize temsilleri çağırarak dönüştürme ToString(String, IFormatProvider) veya String.Format(IFormatProvider, String, Object[]) aşırı yükleme.Convert the dates to their string representations by calling the ToString(String, IFormatProvider) or String.Format(IFormatProvider, String, Object[]) overload. Belirterek sabit kültürün biçimlendirme kurallarını kullanmanız CultureInfo.InvariantCulture olarak provider bağımsız değişken.Use the formatting conventions of the invariant culture by specifying CultureInfo.InvariantCulture as the provider argument. Değerini gidiş-dönüş "O" veya "R" standart biçim dizesini kullanarak gerektiğini belirtin.Specify that the value should round-trip by using the "O" or "R" standard format string.

Kalıcı geri yüklemek için DateTime veri kaybı olmadan değerleri, şu adımları izleyin:To restore the persisted DateTime values without data loss, follow these steps:

  1. Çağırarak verileri ayrıştırmak ParseExact veya TryParseExact aşırı yükleme.Parse the data by calling the ParseExact or TryParseExact overload. Belirtin CultureInfo.InvariantCulture olarak provider bağımsız değişkeni ve kullanmak için kullanılan aynı standart biçim dizesi format dönüştürme sırasında bağımsız değişken.Specify CultureInfo.InvariantCulture as the provider argument, and use the same standard format string you used for the format argument during conversion. Dahil DateTimeStyles.RoundtripKind değerini styles bağımsız değişken.Include the DateTimeStyles.RoundtripKind value in the styles argument.
  2. Varsa DateTime değerleri temsil eder, çağrı, zaman içinde tek dakika ToLocalTime ayrıştırılma tarihi UTC'den yerel saate dönüştürme yöntemi.If the DateTime values represent single moments in time, call the ToLocalTime method to convert the parsed date from UTC to local time.

Aşağıdaki örnek emin olmak için sabit kültür ve "O" standart biçim dizesini kullanan DateTime kaydedilip geri değerleri sistem, kültür veya kaynak ve hedef sistemlerinin saat dilimine bakılmaksızın zaman içinde aynı anı temsil eder.The following example uses the invariant culture and the "O" standard format string to ensure that DateTime values saved and restored represent the same moment in time regardless of the system, culture, or time zone of the source and target systems.

public static void PersistAsInvariantStrings()
{
    SaveDatesAsInvariantStrings();
    RestoreDatesAsInvariantStrings();
}

private static void SaveDatesAsInvariantStrings()
{
    DateTime[] dates = { new DateTime(2014, 6, 14, 6, 32, 0),
                   new DateTime(2014, 7, 10, 23, 49, 0),
                   new DateTime(2015, 1, 10, 1, 16, 0),
                   new DateTime(2014, 12, 20, 21, 45, 0),
                   new DateTime(2014, 6, 2, 15, 14, 0) };
    string output = null;

    Console.WriteLine($"Current Time Zone: {TimeZoneInfo.Local.DisplayName}");
    Console.WriteLine($"The dates on an {Thread.CurrentThread.CurrentCulture.Name} system:");
    for (int ctr = 0; ctr < dates.Length; ctr++)
    {
        Console.WriteLine(dates[ctr].ToString("f"));
        output += dates[ctr].ToUniversalTime().ToString("O", CultureInfo.InvariantCulture)
                  + (ctr != dates.Length - 1 ? "|" : "");
    }
    StreamWriter sw = new StreamWriter(filenameTxt);
    sw.Write(output);
    sw.Close();
    Console.WriteLine("Saved dates...");
}

private static void RestoreDatesAsInvariantStrings()
{
    TimeZoneInfo.ClearCachedData();
    Console.WriteLine("Current Time Zone: {0}",
                      TimeZoneInfo.Local.DisplayName);
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB");
    StreamReader sr = new StreamReader(filenameTxt);
    string[] inputValues = sr.ReadToEnd().Split(new char[] { '|' },
                                                StringSplitOptions.RemoveEmptyEntries);
    sr.Close();
    Console.WriteLine("The dates on an {0} system:",
                      Thread.CurrentThread.CurrentCulture.Name);
    foreach (var inputValue in inputValues)
    {
        DateTime dateValue;
        if (DateTime.TryParseExact(inputValue, "O", CultureInfo.InvariantCulture,
                              DateTimeStyles.RoundtripKind, out dateValue))
        {
            Console.WriteLine($"'{inputValue}' --> {dateValue.ToLocalTime():f}");
        }
        else
        {
            Console.WriteLine("Cannot parse '{0}'", inputValue);
        }
    }
    Console.WriteLine("Restored dates...");
}
// When saved on an en-US system, the example displays the following output:
//       Current Time Zone: (UTC-08:00) Pacific Time (US & Canada)
//       The dates on an en-US system:
//       Saturday, June 14, 2014 6:32 AM
//       Thursday, July 10, 2014 11:49 PM
//       Saturday, January 10, 2015 1:16 AM
//       Saturday, December 20, 2014 9:45 PM
//       Monday, June 02, 2014 3:14 PM
//       Saved dates...
//
// When restored on an en-GB system, the example displays the following output:
//       Current Time Zone: (UTC) Dublin, Edinburgh, Lisbon, London
//       The dates on an en-GB system:
//       '2014-06-14T13:32:00.0000000Z' --> 14 June 2014 14:32
//       '2014-07-11T06:49:00.0000000Z' --> 11 July 2014 07:49
//       '2015-01-10T09:16:00.0000000Z' --> 10 January 2015 09:16
//       '2014-12-21T05:45:00.0000000Z' --> 21 December 2014 05:45
//       '2014-06-02T22:14:00.0000000Z' --> 02 June 2014 23:14
//       Restored dates...
Public Sub PersistAsInvariantStrings()
    SaveDatesAsInvariantStrings()
    RestoreDatesAsInvariantStrings()
End Sub

Private Sub SaveDatesAsInvariantStrings()
    Dim dates() As Date = {#6/14/2014 6:32AM#, #7/10/2014 11:49PM#,
                          #1/10/2015 1:16AM#, #12/20/2014 9:45PM#,
                          #6/2/2014 3:14PM#}
    Dim output As String = Nothing

    Console.WriteLine($"Current Time Zone: {TimeZoneInfo.Local.DisplayName}")
    Console.WriteLine($"The dates on an {Thread.CurrentThread.CurrentCulture.Name} system:")
    For ctr As Integer = 0 To dates.Length - 1
        Console.WriteLine(dates(ctr).ToString("f"))
        output += dates(ctr).ToUniversalTime().ToString("O", CultureInfo.InvariantCulture) +
                                   If(ctr <> dates.Length - 1, "|", "")
    Next
    Dim sw As New StreamWriter(filenameTxt)
    sw.Write(output)
    sw.Close()
    Console.WriteLine("Saved dates...")
End Sub

Private Sub RestoreDatesAsInvariantStrings()
    TimeZoneInfo.ClearCachedData()
    Console.WriteLine("Current Time Zone: {0}",
                    TimeZoneInfo.Local.DisplayName)
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB")
    Dim sr As New StreamReader(filenameTxt)
    Dim inputValues() As String = sr.ReadToEnd().Split({"|"c}, StringSplitOptions.RemoveEmptyEntries)
    sr.Close()
    Console.WriteLine($"The dates on an {Thread.CurrentThread.CurrentCulture.Name} system:")
    For Each inputValue In inputValues
        Dim dateValue As Date
        If DateTime.TryParseExact(inputValue, "O", CultureInfo.InvariantCulture,
                          DateTimeStyles.RoundtripKind, dateValue) Then
            Console.WriteLine($"'{inputValue}' --> {dateValue.ToLocalTime():f}")
        Else
            Console.WriteLine($"Cannot parse '{inputValue}'")
        End If
    Next
    Console.WriteLine("Restored dates...")
End Sub
' When saved on an en-US system, the example displays the following output:
'       Current Time Zone: (UTC-08:00) Pacific Time (US & Canada)
'       The dates on an en-US system:
'       Saturday, June 14, 2014 6:32 AM
'       Thursday, July 10, 2014 11:49 PM
'       Saturday, January 10, 2015 1:16 AM
'       Saturday, December 20, 2014 9:45 PM
'       Monday, June 02, 2014 3:14 PM
'       Saved dates...
'
' When restored on an en-GB system, the example displays the following output:
'       Current Time Zone: (UTC) Dublin, Edinburgh, Lisbon, London
'       The dates on an en-GB system:
'       '2014-06-14T13:32:00.0000000Z' --> 14 June 2014 14:32
'       '2014-07-11T06:49:00.0000000Z' --> 11 July 2014 07:49
'       '2015-01-10T09:16:00.0000000Z' --> 10 January 2015 09:16
'       '2014-12-21T05:45:00.0000000Z' --> 21 December 2014 05:45
'       '2014-06-02T22:14:00.0000000Z' --> 02 June 2014 23:14
'       Restored dates...

Tamsayı olarak kalıcı değerleriPersisting values as integers

Bir tarih ve saat olarak kalıcı bir Int64 tıklarının sayısını gösteren bir değer.You can persist a date and time as an Int64 value that represents a number of ticks. Bu durumda, sistemleri kültürünü dikkate alınması gereken yoksa DateTime değerleri kalıcı ve geri.In this case, you don't have to consider the culture of the systems the DateTime values are persisted and restored on.

Kalıcı hale getirmek için bir DateTime değeri bir tamsayı olarak:To persist a DateTime value as an integer:

  • Varsa DateTime değerleri zaman içindeki tek anları temsil, çağırarak UTC'ye dönüştürün ToUniversalTime yöntemi.If the DateTime values represent single moments in time, convert them to UTC by calling the ToUniversalTime method.
  • Tarafından temsil edilen tıklarının sayısını almak DateTime değerini kendi Ticks özelliği.Retrieve the number of ticks represented by the DateTime value from its Ticks property.

Geri yüklemek için bir DateTime kalıcı bir tamsayı değeri:To restore a DateTime value that has been persisted as an integer:

  1. Yeni bir örneğini DateTime geçirerek nesne Int64 değerini DateTime(Int64) Oluşturucusu.Instantiate a new DateTime object by passing the Int64 value to the DateTime(Int64) constructor.
  2. Varsa DateTime değeri, zaman içindeki tek bir anı temsil eder, çağırarak UTC'den yerel saate dönüştürün ToLocalTime yöntemi.If the DateTime value represents a single moment in time, convert it from UTC to the local time by calling the ToLocalTime method.

Aşağıdaki örnek, bir dizi devam ederse DateTime olarak ABD'deki bir sistemde tamsayı değerleri Pasifik Saat dilimi.The following example persists an array of DateTime values as integers on a system in the U.S. Pacific Time zone. Bu, bir sistemde UTC diliminde geri yükler.It restores it on a system in the UTC zone. Tam sayılar içeren dosyayı içeren bir Int32 toplam sayısını gösteren değeri Int64 hemen izleyin değerleri.The file that contains the integers includes an Int32 value that indicates the total number of Int64 values that immediately follow it.

public static void PersistAsIntegers()
{
    SaveDatesAsInts();
    RestoreDatesAsInts();
}

private static void SaveDatesAsInts()
{
    DateTime[] dates = { new DateTime(2014, 6, 14, 6, 32, 0),
                   new DateTime(2014, 7, 10, 23, 49, 0),
                   new DateTime(2015, 1, 10, 1, 16, 0),
                   new DateTime(2014, 12, 20, 21, 45, 0),
                   new DateTime(2014, 6, 2, 15, 14, 0) };

    Console.WriteLine($"Current Time Zone: {TimeZoneInfo.Local.DisplayName}");
    Console.WriteLine($"The dates on an {Thread.CurrentThread.CurrentCulture.Name} system:");
    long[] ticks = new long[dates.Length];
    for (int ctr = 0; ctr < dates.Length; ctr++)
    {
        Console.WriteLine(dates[ctr].ToString("f"));
        ticks[ctr] = dates[ctr].ToUniversalTime().Ticks;
    }
    FileStream fs = new FileStream(filenameInts, FileMode.Create);
    BinaryWriter bw = new BinaryWriter(fs);
    bw.Write(ticks.Length);
    foreach (var tick in ticks)
        bw.Write(tick);

    bw.Close();
    Console.WriteLine("Saved dates...");
}

private static void RestoreDatesAsInts()
{
    TimeZoneInfo.ClearCachedData();
    Console.WriteLine($"Current Time Zone: {TimeZoneInfo.Local.DisplayName}");
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB");
    FileStream fs = new FileStream(filenameInts, FileMode.Open);
    BinaryReader br = new BinaryReader(fs);
    int items;
    DateTime[] dates;

    try
    {
        items = br.ReadInt32();
        dates = new DateTime[items];

        for (int ctr = 0; ctr < items; ctr++)
        {
            long ticks = br.ReadInt64();
            dates[ctr] = new DateTime(ticks).ToLocalTime();
        }
    }
    catch (EndOfStreamException)
    {
        Console.WriteLine("File corruption detected. Unable to restore data...");
        return;
    }
    catch (IOException)
    {
        Console.WriteLine("Unspecified I/O error. Unable to restore data...");
        return;
    }
    // Thrown during array initialization.
    catch (OutOfMemoryException)
    {
        Console.WriteLine("File corruption detected. Unable to restore data...");
        return;
    }
    finally
    {
        br.Close();
    }

    Console.WriteLine($"The dates on an {Thread.CurrentThread.CurrentCulture.Name} system:");
    foreach (var value in dates)
        Console.WriteLine(value.ToString("f"));

    Console.WriteLine("Restored dates...");
}
// When saved on an en-US system, the example displays the following output:
//       Current Time Zone: (UTC-08:00) Pacific Time (US & Canada)
//       The dates on an en-US system:
//       Saturday, June 14, 2014 6:32 AM
//       Thursday, July 10, 2014 11:49 PM
//       Saturday, January 10, 2015 1:16 AM
//       Saturday, December 20, 2014 9:45 PM
//       Monday, June 02, 2014 3:14 PM
//       Saved dates...
//
// When restored on an en-GB system, the example displays the following output:
//       Current Time Zone: (UTC) Dublin, Edinburgh, Lisbon, London
//       The dates on an en-GB system:
//       14 June 2014 14:32
//       11 July 2014 07:49
//       10 January 2015 09:16
//       21 December 2014 05:45
//       02 June 2014 23:14
//       Restored dates...
Public Sub PersistAsIntegers()
    SaveDatesAsIntegers()
    RestoreDatesAsIntegers()
End Sub

Private Sub SaveDatesAsIntegers()
    Dim dates() As Date = {#6/14/2014 6:32AM#, #7/10/2014 11:49PM#,
                          #1/10/2015 1:16AM#, #12/20/2014 9:45PM#,
                          #6/2/2014 3:14PM#}

    Console.WriteLine($"Current Time Zone: {TimeZoneInfo.Local.DisplayName}")
    Console.WriteLine($"The dates on an {Thread.CurrentThread.CurrentCulture.Name} system:")
    Dim ticks(dates.Length - 1) As Long
    For ctr As Integer = 0 To dates.Length - 1
        Console.WriteLine(dates(ctr).ToString("f"))
        ticks(ctr) = dates(ctr).ToUniversalTime().Ticks
    Next
    Dim fs As New FileStream(filenameInts, FileMode.Create)
    Dim bw As New BinaryWriter(fs)
    bw.Write(ticks.Length)
    For Each tick In ticks
        bw.Write(tick)
    Next
    bw.Close()
    Console.WriteLine("Saved dates...")
End Sub

Private Sub RestoreDatesAsIntegers()
    TimeZoneInfo.ClearCachedData()
    Console.WriteLine($"Current Time Zone: {TimeZoneInfo.Local.DisplayName}")
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB")
    Dim fs As New FileStream(filenameInts, FileMode.Open)
    Dim br As New BinaryReader(fs)
    Dim items As Integer
    Dim dates() As DateTime

    Try
        items = br.ReadInt32()
        ReDim dates(items - 1)

        For ctr As Integer = 0 To items - 1
            Dim ticks As Long = br.ReadInt64()
            dates(ctr) = New DateTime(ticks).ToLocalTime()
        Next
    Catch e As EndOfStreamException
        Console.WriteLine("File corruption detected. Unable to restore data...")
        Exit Sub
    Catch e As IOException
        Console.WriteLine("Unspecified I/O error. Unable to restore data...")
        Exit Sub
    Catch e As OutOfMemoryException     'Thrown in array initialization.
        Console.WriteLine("File corruption detected. Unable to restore data...")
        Exit Sub
    Finally
        br.Close()
    End Try

    Console.WriteLine($"The dates on an {Thread.CurrentThread.CurrentCulture.Name} system:")
    For Each value In dates
        Console.WriteLine(value.ToString("f"))
    Next
    Console.WriteLine("Restored dates...")
End Sub
' When saved on an en-US system, the example displays the following output:
'       Current Time Zone: (UTC-08:00) Pacific Time (US & Canada)
'       The dates on an en-US system:
'       Saturday, June 14, 2014 6:32 AM
'       Thursday, July 10, 2014 11:49 PM
'       Saturday, January 10, 2015 1:16 AM
'       Saturday, December 20, 2014 9:45 PM
'       Monday, June 02, 2014 3:14 PM
'       Saved dates...
'
' When restored on an en-GB system, the example displays the following output:
'       Current Time Zone: (UTC) Dublin, Edinburgh, Lisbon, London
'       The dates on an en-GB system:
'       14 June 2014 14:32
'       11 July 2014 07:49
'       10 January 2015 09:16
'       21 December 2014 05:45
'       02 June 2014 23:14
'       Restored dates...

DateTime değerleri seri hale getirmeSerializing DateTime values

Kalıcı yapılabilir DateTime serileştirme akış veya dosyaya ve ardından geri yükleme yoluyla seri durumundan çıkarma bunları değerleri.You can persist DateTime values through serialization to a stream or file, and then restore them through deserialization. DateTime Veri bazı belirtilen nesnesi biçiminde serileştirilir.DateTime data is serialized in some specified object format. Bunlar seri olduğunda nesneleri geri yüklenir.The objects are restored when they are deserialized. Bir biçimlendirici veya seri hale getirici, gibi XmlSerializer veya BinaryFormatter, serileştirme ve seri durumundan çıkarma işlemini gerçekleştirir.A formatter or serializer, such as XmlSerializer or BinaryFormatter, handles the process of serialization and deserialization. Serileştirme ve seri hale getirme .NET Framework tarafından desteklenen türleri hakkında daha fazla bilgi için bkz. serileştirme.For more information about serialization and the types of serialization supported by the .NET Framework, see Serialization.

Aşağıdaki örnekte XmlSerializer seri hale getirmek ve seri durumdan için sınıf DateTime değerleri.The following example uses the XmlSerializer class to serialize and deserialize DateTime values. Değerleri yirmi yüzyıl tüm artık yıl günde temsil eder.The values represent all leap year days in the twenty-first century. Çıkış, geçerli kültürü İngilizce (İngiltere) olduğu bir sistemde örneği çalıştırırsanız sonucunu temsil eder.The output represents the result if the example is run on a system whose current culture is English (Great Britain). Seri durumdan çünkü DateTime nesnenin kendisi, kod tarih ve saat biçimleri kültürel farklılıkları işlemeye sahip değil.Because you've deserialized the DateTime object itself, the code doesn't have to handle cultural differences in date and time formats.

public static void PersistAsXML()
{
    // Serialize the data.
    List<DateTime> leapYears = new List<DateTime>();
    for (int year = 2000; year <= 2100; year += 4)
    {
        if (DateTime.IsLeapYear(year))
            leapYears.Add(new DateTime(year, 2, 29));
    }
    DateTime[] dateArray = leapYears.ToArray();

    XmlSerializer serializer = new XmlSerializer(dateArray.GetType());
    TextWriter sw = new StreamWriter(filenameXml);

    try
    {
        serializer.Serialize(sw, dateArray);
    }
    catch (InvalidOperationException e)
    {
        Console.WriteLine(e.InnerException.Message);
    }
    finally
    {
        if (sw != null) sw.Close();
    }

    // Deserialize the data.
    DateTime[] deserializedDates;
    using (FileStream fs = new FileStream(filenameXml, FileMode.Open))
    {
        deserializedDates = (DateTime[])serializer.Deserialize(fs);
    }

    // Display the dates.
    Console.WriteLine($"Leap year days from 2000-2100 on an {Thread.CurrentThread.CurrentCulture.Name} system:");
    int nItems = 0;
    foreach (var dat in deserializedDates)
    {
        Console.Write($"   {dat:d}     ");
        nItems++;
        if (nItems % 5 == 0)
            Console.WriteLine();
    }
}
// The example displays the following output:
//    Leap year days from 2000-2100 on an en-GB system:
//       29/02/2000       29/02/2004       29/02/2008       29/02/2012       29/02/2016
//       29/02/2020       29/02/2024       29/02/2028       29/02/2032       29/02/2036
//       29/02/2040       29/02/2044       29/02/2048       29/02/2052       29/02/2056
//       29/02/2060       29/02/2064       29/02/2068       29/02/2072       29/02/2076
//       29/02/2080       29/02/2084       29/02/2088       29/02/2092       29/02/2096
Public Sub PersistAsXml()
    ' Serialize the data.
    Dim leapYears As New List(Of DateTime)()
    For year As Integer = 2000 To 2100 Step 4
        If Date.IsLeapYear(year) Then
            leapYears.Add(New Date(year, 2, 29))
        End If
    Next
    Dim dateArray() As DateTime = leapYears.ToArray()

    Dim serializer As New XmlSerializer(dateArray.GetType())
    Dim sw As TextWriter = New StreamWriter(filenameXml)

    Try
        serializer.Serialize(sw, dateArray)
    Catch e As InvalidOperationException
        Console.WriteLine(e.InnerException.Message)
    Finally
        If sw IsNot Nothing Then sw.Close()
    End Try

    ' Deserialize the data.
    Dim deserializedDates() As Date
    Using fs As New FileStream(filenameXml, FileMode.Open)
        deserializedDates = CType(serializer.Deserialize(fs), Date())
    End Using

    ' Display the dates.
    Console.WriteLine($"Leap year days from 2000-2100 on an {Thread.CurrentThread.CurrentCulture.Name} system:")
    Dim nItems As Integer
    For Each dat In deserializedDates
        Console.Write($"   {dat:d}     ")
        nItems += 1
        If nItems Mod 5 = 0 Then Console.WriteLine()
    Next
End Sub
' The example displays the following output:
'    Leap year days from 2000-2100 on an en-GB system:
'       29/02/2000       29/02/2004       29/02/2008       29/02/2012       29/02/2016
'       29/02/2020       29/02/2024       29/02/2028       29/02/2032       29/02/2036
'       29/02/2040       29/02/2044       29/02/2048       29/02/2052       29/02/2056
'       29/02/2060       29/02/2064       29/02/2068       29/02/2072       29/02/2076
'       29/02/2080       29/02/2084       29/02/2088       29/02/2092       29/02/2096

Önceki örnekte, saat bilgilerini içermez.The previous example doesn't include time information. Varsa bir DateTime değeri zaman içinde bir ana temsil eder ve bir yerel saat ifade edilir, çağırarak serileştirmeden önce yerel saatten UTC'ye dönüştürün ToUniversalTime yöntemi.If a DateTime value represents a moment in time and is expressed as a local time, convert it from local time to UTC before serializing it by calling the ToUniversalTime method. Bu seri durumdan sonra bunu UTC'den yerel saate çağırarak dönüştürün ToLocalTime yöntemi.After you deserialize it, convert it from UTC to local time by calling the ToLocalTime method. Aşağıdaki örnekte BinaryFormatter serileştirmek için sınıfı DateTime ABD'deki bir sistemde verileri Pasifik Standart saat dilimi ve ABD'deki bir sistemde serisini kaldırmak için Merkezi standart bölge.The following example uses the BinaryFormatter class to serialize DateTime data on a system in the U.S. Pacific Standard Time zone and to deserialize it on a system in the U.S. Central Standard zone.

public static void PersistBinary()
{
    SaveDatesBinary();
    RestoreDatesBinary();
}

private static void SaveDatesBinary()
{
    DateTime[] dates = { new DateTime(2014, 6, 14, 6, 32, 0),
                   new DateTime(2014, 7, 10, 23, 49, 0),
                   new DateTime(2015, 1, 10, 1, 16, 0),
                   new DateTime(2014, 12, 20, 21, 45, 0),
                   new DateTime(2014, 6, 2, 15, 14, 0) };
    FileStream fs = new FileStream(filenameBin, FileMode.Create);
    BinaryFormatter bin = new BinaryFormatter();

    Console.WriteLine($"Current Time Zone: {TimeZoneInfo.Local.DisplayName}");
    Console.WriteLine($"The dates on an {Thread.CurrentThread.CurrentCulture.Name} system:");
    for (int ctr = 0; ctr < dates.Length; ctr++)
    {
        Console.WriteLine(dates[ctr].ToString("f"));
        dates[ctr] = dates[ctr].ToUniversalTime();
    }
    bin.Serialize(fs, dates);
    fs.Close();
    Console.WriteLine("Saved dates...");
}

private static void RestoreDatesBinary()
{
    TimeZoneInfo.ClearCachedData();
    Console.WriteLine($"Current Time Zone: {TimeZoneInfo.Local.DisplayName}");
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB");

    FileStream fs = new FileStream(filenameBin, FileMode.Open);
    BinaryFormatter bin = new BinaryFormatter();
    DateTime[] dates = (DateTime[])bin.Deserialize(fs);
    fs.Close();

    Console.WriteLine($"The dates on an {Thread.CurrentThread.CurrentCulture.Name} system:");
    foreach (var value in dates)
        Console.WriteLine(value.ToLocalTime().ToString("f"));

    Console.WriteLine("Restored dates...");
}
// When saved on an en-US system, the example displays the following output:
//       Current Time Zone: (UTC-08:00) Pacific Time (US & Canada)
//       The dates on an en-US system:
//       Saturday, June 14, 2014 6:32 AM
//       Thursday, July 10, 2014 11:49 PM
//       Saturday, January 10, 2015 1:16 AM
//       Saturday, December 20, 2014 9:45 PM
//       Monday, June 02, 2014 3:14 PM
//       Saved dates...
//
// When restored on an en-GB system, the example displays the following output:
//       Current Time Zone: (UTC-6:00) Central Time (US & Canada)
//       The dates on an en-GB system:
//       14 June 2014 08:32
//       11 July 2014 01:49
//       10 January 2015 03:16
//       20 December 2014 23:45
//       02 June 2014 17:14
//       Restored dates...
Public Sub PersistBinary()
    SaveDatesBinary()
    RestoreDatesBinary()
End Sub

Private Sub SaveDatesBinary()
    Dim dates() As Date = {#6/14/2014 6:32AM#, #7/10/2014 11:49PM#,
                          #1/10/2015 1:16AM#, #12/20/2014 9:45PM#,
                          #6/2/2014 3:14PM#}
    Dim fs As New FileStream(filenameBin, FileMode.Create)
    Dim bin As New BinaryFormatter()

    Console.WriteLine($"Current Time Zone: {TimeZoneInfo.Local.DisplayName}")
    Console.WriteLine("The dates on an {Thread.CurrentThread.CurrentCulture.Name} system:")
    For ctr As Integer = 0 To dates.Length - 1
        Console.WriteLine(dates(ctr).ToString("f"))
        dates(ctr) = dates(ctr).ToUniversalTime()
    Next
    bin.Serialize(fs, dates)
    fs.Close()
    Console.WriteLine("Saved dates...")
End Sub

Private Sub RestoreDatesBinary()
    TimeZoneInfo.ClearCachedData()
    Console.WriteLine("Current Time Zone: {TimeZoneInfo.Local.DisplayName}")
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB")

    Dim fs As New FileStream(filenameBin, FileMode.Open)
    Dim bin As New BinaryFormatter()
    Dim dates() As DateTime = DirectCast(bin.Deserialize(fs), Date())
    fs.Close()

    Console.WriteLine("The dates on an {Thread.CurrentThread.CurrentCulture.Name} system:")
    For Each value In dates
        Console.WriteLine(value.ToLocalTime().ToString("f"))
    Next
    Console.WriteLine("Restored dates...")
End Sub
' When saved on an en-US system, the example displays the following output:
'       Current Time Zone: (UTC-08:00) Pacific Time (US & Canada)
'       The dates on an en-US system:
'       Saturday, June 14, 2014 6:32 AM
'       Thursday, July 10, 2014 11:49 PM
'       Saturday, January 10, 2015 1:16 AM
'       Saturday, December 20, 2014 9:45 PM
'       Monday, June 02, 2014 3:14 PM
'       Saved dates...
'
' When restored on an en-GB system, the example displays the following output:
'       Current Time Zone: (UTC-6:00) Central Time (US & Canada)
'       The dates on an en-GB system:
'       14 June 2014 08:32
'       11 July 2014 01:49
'       10 January 2015 03:16
'       20 December 2014 11:45
'       02 June 2014 17:14
'       Restored dates...

Tarih/saat ve saat dilimi verileri seri hale getirmeSerializing DateTime and time zone data

Önceki örneklerin tümü kabul DateTime değerleri yerel zamanlar ifade edilir.The previous examples all assumed that DateTime values are expressed as local times. Bunlar zaman içinde aynı anı kaynak ve hedef sistemlerde yansıtacak şekilde değerleri UTC ve yerel saat arasındaki kod dönüştürülür.The code converted the values between UTC and local time so they reflect the same moment in time on the source and target systems. DateTime değerleri de içinde dışındaki yerel saat dilimi ile UTC zaman içindeki anları yansıtmayabilir.DateTime values may also reflect moments in time in a time zone other than local and UTC. Çünkü DateTime yapısı saat dilimiyle uyumlu değil, hem seri hale getirmek zorunda DateTime değeri ve TimeZoneInfo saat dilimini temsil eden nesne.Because the DateTime structure is not time zone-aware, you have to serialize both the DateTime value and the TimeZoneInfo object that represents its time zone. Alanları her ikisini de içeren bir tür oluşturma DateTime değeri ve kendi saat dilimi.Create a type whose fields include both the DateTime value and its time zone. Aşağıdaki örnekte tanımlayan bir DateWithTimeZone yapısı.The following example defines a DateWithTimeZone structure.

using System;

namespace DateTimeExtensions
{
    [Serializable]
    public struct DateWithTimeZone
    {
        private TimeZoneInfo tz;
        private DateTime dt;

        public DateWithTimeZone(DateTime dateValue, TimeZoneInfo timeZone)
        {
            dt = dateValue;
            if (timeZone == null)
                tz = TimeZoneInfo.Local;
            else
                tz = timeZone;
        }

        public TimeZoneInfo TimeZone
        {
            get { return (tz); }
            set { tz = value; }
        }

        public DateTime DateTime
        {
            get { return (dt); }
            set { dt = value; }
        }
    }
}
Namespace DateTimeExtensions
    <Serializable> Public Structure DateWithTimeZone
        Private tz As TimeZoneInfo
        Private dt As DateTime

        Public Sub New(dateValue As DateTime, timeZone As TimeZoneInfo)
            dt = dateValue
            If timeZone Is Nothing Then
                tz = TimeZoneInfo.Local
            Else
                tz = timeZone
            End If
        End Sub

        Public Property TimeZone As TimeZoneInfo
            Get
                Return tz
            End Get
            Set
                tz = Value
            End Set
        End Property

        Public Property DateTime As Date
            Get
                Return dt
            End Get
            Set
                dt = Value
            End Set
        End Property
    End Structure
End Namespace

Önemli

DateWithTimeZone Yapısı, bir dizi seri hale getrime ve sonraki iki örneklerde kullanılan DateWithTimeZone nesneleri.The DateWithTimeZone structure is used in the next two examples, which serialize and deserialize an array of DateWithTimeZone objects. Bu makaledeki örnekler kümesinin tamamını kaynağı ya da görüntüleyebilirsiniz Visual Basic veya C# github'da docs deposundan.You can view the source for the entire set of examples from this article in either Visual Basic or C# from the docs repository on GitHub.

Kullanarak DateWithTimeZone yapısı, tarih ve saat dilimi bilgileri ile birlikte bir saat sonra devam edebilir.By using the DateWithTimeZone structure, you can then persist date and time along with time zone information. Aşağıdaki örnekte BinaryFormatter dizisi seri hale sınıf DateWithTimeZone nesneleri.The following example uses the BinaryFormatter class to serialize an array of DateWithTimeZone objects.

public static void SaveDateWithTimeZone()
{
    DateWithTimeZone[] dates = { new DateWithTimeZone(new DateTime(2014, 8, 9, 19, 30, 0),
                              TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")),
                          new DateWithTimeZone(new DateTime(2014, 8, 15, 19, 0, 0),
                              TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")),
                          new DateWithTimeZone(new DateTime(2014, 8, 22, 19, 30, 0),
                              TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")),
                          new DateWithTimeZone(new DateTime(2014, 8, 28, 19, 0, 0),
                              TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")) };
    FileStream fs = new FileStream(@".\Schedule.bin", FileMode.Create);
    BinaryFormatter formatter = new BinaryFormatter();
    try
    {
        formatter.Serialize(fs, dates);
        // Display dates.
        foreach (var date in dates)
        {
            TimeZoneInfo tz = date.TimeZone;
            Console.WriteLine($"{date.DateTime} {(tz.IsDaylightSavingTime(date.DateTime) ? tz.DaylightName : tz.StandardName)}");
        }
    }
    catch (SerializationException e)
    {
        Console.WriteLine($"Serialization failed. Reason: {e.Message}");
    }
    finally
    {
        if (fs != null) fs.Close();
    }
}
// The example displays the following output:
//       8/9/2014 7:30:00 PM Eastern Daylight Time
//       8/15/2014 7:00:00 PM Pacific Daylight Time
//       8/22/2014 7:30:00 PM Eastern Daylight Time
//       8/28/2014 7:00:00 PM Eastern Daylight Time
Public Sub SaveDateWithTimeZone()
    Dim dates() As DateWithTimeZone = {New DateWithTimeZone(#8/9/2014 7:30PM#,
                                      TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")),
                                  New DateWithTimeZone(#8/15/2014 7:00PM#,
                                      TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")),
                                  New DateWithTimeZone(#8/22/2014 7:30PM#,
                                      TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")),
                                  New DateWithTimeZone(#8/28/2014 7:00PM#,
                                      TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"))}
    Dim fs As New FileStream(".\Schedule.bin", FileMode.Create)
    Dim formatter As New BinaryFormatter()
    Try
        formatter.Serialize(fs, dates)
    Catch e As SerializationException
        Console.WriteLine($"Serialization failed. Reason: {e.Message}")
    Finally
        If fs IsNot Nothing Then fs.Close()
    End Try
    ' Display dates.
    For Each dateInfo In dates
        Dim tz As TimeZoneInfo = dateInfo.TimeZone
        Console.WriteLine($"{dateInfo.DateTime} {If(tz.IsDaylightSavingTime(dateInfo.DateTime), tz.DaylightName, tz.StandardName)}")
    Next
End Sub
' The example displays the following output:
'       8/9/2014 7:30:00 PM Eastern Daylight Time
'       8/15/2014 7:00:00 PM Pacific Daylight Time
'       8/22/2014 7:30:00 PM Eastern Daylight Time
'       8/28/2014 7:00:00 PM Eastern Daylight Time

Aşağıdaki örnek daha sonra çağırır BinaryFormatter.Deserialize bu seri için yöntemi.The following example then calls the BinaryFormatter.Deserialize method to deserialize it.

public static void RestoreDateWithTimeZone()
{
    const string filename = @".\Schedule.bin";
    FileStream fs;
    if (File.Exists(filename))
        fs = new FileStream(filename, FileMode.Open);
    else
    {
        Console.WriteLine("Unable to find file to deserialize.");
        return;
    }

    BinaryFormatter formatter = new BinaryFormatter();
    DateWithTimeZone[] dates;
    try
    {
        dates = (DateWithTimeZone[])formatter.Deserialize(fs);
        // Display dates.
        foreach (var date in dates)
        {
            TimeZoneInfo tz = date.TimeZone;
            Console.WriteLine($"{ date.DateTime} {(tz.IsDaylightSavingTime(date.DateTime) ? tz.DaylightName : tz.StandardName)}");
        }
    }
    catch (SerializationException e)
    {
        Console.WriteLine($"Deserialization failed. Reason: {e.Message}");
    }
    finally
    {
        if (fs != null) fs.Close();
    }
}
// The example displays the following output:
//       8/9/2014 7:30:00 PM Eastern Daylight Time
//       8/15/2014 7:00:00 PM Pacific Daylight Time
//       8/22/2014 7:30:00 PM Eastern Daylight Time
//       8/28/2014 7:00:00 PM Eastern Daylight Time
Public Sub RestoreDateWithTimeZone()
    Dim fs As FileStream
    If File.Exists(filename) Then
        fs = New FileStream(filename, FileMode.Open)
    Else
        Console.WriteLine("Unable to find file to deserialize.")
        Exit Sub
    End If

    Dim formatter As New BinaryFormatter()
    Dim dates() As DateWithTimeZone = Nothing
    Try
        dates = DirectCast(formatter.Deserialize(fs), DateWithTimeZone())
        ' Display dates.
        For Each dateInfo In dates
            Dim tz As TimeZoneInfo = dateInfo.TimeZone
            Console.WriteLine($"{dateInfo.DateTime} {If(tz.IsDaylightSavingTime(dateInfo.DateTime), tz.DaylightName, tz.StandardName)}")
        Next
    Catch e As SerializationException
        Console.WriteLine("Deserialization failed. Reason: {e.Message}")
    Finally
        If fs IsNot Nothing Then fs.Close()
    End Try
End Sub
' The example displays the following output:
'       8/9/2014 7:30:00 PM Eastern Daylight Time
'       8/15/2014 7:00:00 PM Pacific Daylight Time
'       8/22/2014 7:30:00 PM Eastern Daylight Time
'       8/28/2014 7:00:00 PM Eastern Daylight Time

DateTime vs. Zaman aralığıDateTime vs. TimeSpan

DateTime Ve TimeSpan değer türleri, farklı bir DateTime ise zamandaki anlık temsil eder bir TimeSpan zaman aralığını temsil eder.The DateTime and TimeSpan value types differ in that a DateTime represents an instant in time whereas a TimeSpan represents a time interval. Bir kopyasını çıkarabilirsiniz DateTime elde etmek için başka bir bir TimeSpan bunları arasındaki zaman aralığını temsil eden nesne.You can subtract one instance of DateTime from another to obtain a TimeSpan object that represents the time interval between them. Veya bir pozitif ekleyebilirsiniz TimeSpan geçerli DateTime almak için bir DateTime gelecekteki bir tarihi temsil eden bir değer.Or you could add a positive TimeSpan to the current DateTime to obtain a DateTime value that represents a future date.

Ekleyebilir veya bir zaman aralığının çıkarılacağı bir DateTime nesne.You can add or subtract a time interval from a DateTime object. Zaman aralıkları, negatif veya pozitif olabilir ve bunlar birimler cinsinden saat tıklaması gibi ifade edilebilir saniye veya farklı bir TimeSpan nesne.Time intervals can be negative or positive, and they can be expressed in units such as ticks, seconds, or as a TimeSpan object.

Dayanıklılık içinde eşitlik için karşılaştırmaComparing for equality within tolerance

Eşitlik karşılaştırmaları için DateTime değerler kesin.Equality comparisons for DateTime values are exact. İki değer eşit sayılması için işaretleri aynı sayıda ifade edilmelidir anlamına gelir.That means two values must be expressed as the same number of ticks to be considered equal. Duyarlık genellikle unecessary olduğunu veya hatta birçok uygulama için yanlış.That precision is often unecessary or even incorrect for many applications. Genellikle, test etmek istediğiniz DateTime nesneler kabaca eşit.Often, you want to test if DateTime objects are roughly equal.

Aşağıdaki örnek, kabaca karşılaştırmak gösterilmiştir eşdeğer DateTime değerleri.The following example demonstrates how to compare roughly equivalent DateTime values. Bunları eşit bildirirken küçük bir fark kenar kabul eder.It accepts a small margin of difference when declaring them equal.

[!code-csharpSystem.DateTime.Comparisons#1][!code-csharpSystem.DateTime.Comparisons#1]

Public Shared Function RoughlyEquals(time As DateTime, timeWithWindow As DateTime,
                             windowInSeconds As Integer,
                             frequencyInSeconds As Integer) As Boolean
    Dim delta As Long = (timeWithWindow.Subtract(time)).TotalSeconds _
                                            Mod frequencyInSeconds

    If delta > windowInSeconds Then
        delta = frequencyInSeconds - delta
    End If

    Return Math.Abs(delta) < windowInSeconds
End Function

Public Shared Sub TestRoughlyEquals()
    Dim window As Integer = 10
    Dim freq As Integer = 60 * 60 * 2 ' 2 hours;
    Dim d1 As DateTime = DateTime.Now

    Dim d2 As DateTime = d1.AddSeconds((2 * window))
    Dim d3 As DateTime = d1.AddSeconds((-2 * window))
    Dim d4 As DateTime = d1.AddSeconds((window / 2))
    Dim d5 As DateTime = d1.AddSeconds((-window / 2))

    Dim d6 As DateTime = d1.AddHours(2).AddSeconds((2 * window))
    Dim d7 As DateTime = d1.AddHours(2).AddSeconds((-2 * window))
    Dim d8 As DateTime = d1.AddHours(2).AddSeconds((window / 2))
    Dim d9 As DateTime = d1.AddHours(2).AddSeconds((-window / 2))

    Console.WriteLine($"d1 ({d1}) ~= d1 ({d1}): {RoughlyEquals(d1, d1, window, freq)}")
    Console.WriteLine($"d1 ({d1}) ~= d2 ({d2}): {RoughlyEquals(d1, d2, window, freq)}")
    Console.WriteLine($"d1 ({d1}) ~= d3 ({d3}): {RoughlyEquals(d1, d3, window, freq)}")
    Console.WriteLine($"d1 ({d1}) ~= d4 ({d4}): {RoughlyEquals(d1, d4, window, freq)}")
    Console.WriteLine($"d1 ({d1}) ~= d5 ({d5}): {RoughlyEquals(d1, d5, window, freq)}")

    Console.WriteLine($"d1 ({d1}) ~= d6 ({d6}): {RoughlyEquals(d1, d6, window, freq)}")
    Console.WriteLine($"d1 ({d1}) ~= d7 ({d7}): {RoughlyEquals(d1, d7, window, freq)}")
    Console.WriteLine($"d1 ({d1}) ~= d8 ({d8}): {RoughlyEquals(d1, d8, window, freq)}")
    Console.WriteLine($"d1 ({d1}) ~= d9 ({d9}): {RoughlyEquals(d1, d9, window, freq)}")
End Sub
' The example displays output similar to the following:
'    d1 (1/28/2010 9:01:26 PM) ~= d1 (1/28/2010 9:01:26 PM): True
'    d1 (1/28/2010 9:01:26 PM) ~= d2 (1/28/2010 9:01:46 PM): False
'    d1 (1/28/2010 9:01:26 PM) ~= d3 (1/28/2010 9:01:06 PM): False
'    d1 (1/28/2010 9:01:26 PM) ~= d4 (1/28/2010 9:01:31 PM): True
'    d1 (1/28/2010 9:01:26 PM) ~= d5 (1/28/2010 9:01:21 PM): True
'    d1 (1/28/2010 9:01:26 PM) ~= d6 (1/28/2010 11:01:46 PM): False
'    d1 (1/28/2010 9:01:26 PM) ~= d7 (1/28/2010 11:01:06 PM): False
'    d1 (1/28/2010 9:01:26 PM) ~= d8 (1/28/2010 11:01:31 PM): True
'    d1 (1/28/2010 9:01:26 PM) ~= d9 (1/28/2010 11:01:21 PM): True

COM birlikte çalışabilirlik değerlendirmeleriCOM interop considerations

A DateTime COM uygulamaya aktarılır ve ardından geri bir yönetilen uygulama, aktarılan değerini gidiş dönüşlü hale getirmek için dedi.A DateTime value that is transferred to a COM application, then is transferred back to a managed application, is said to round-trip. Ancak, bir DateTime yalnızca bir kez belirten bir değer yok, bekleyebileceğiniz gibi gidiş dönüş.However, a DateTime value that specifies only a time does not round-trip as you might expect.

30 Aralık 1899 C.E. 3 saat, son tarih ve saat gibi bir süre yalnızca, gidiş dönüş iseIf you round-trip only a time, such as 3 P.M., the final date and time is December 30, 1899 C.E. 3: 00'da, yerine, 1 Ocak 0001 C.E.'dirat 3:00 P.M., instead of January, 1, 0001 C.E. 3: 00'daat 3:00 P.M. COM ve .NET Framework yalnızca bir kez belirtildiği zaman, varsayılan bir tarih varsayılır.The .NET Framework and COM assume a default date when only a time is specified. Ancak, .NET Framework temel tarihi, 1 Ocak 0001 C.E.'dir varsayar ancak 30 Aralık 1899 C.E., temel bir tarihi COM Sistem varsayarHowever, the COM system assumes a base date of December 30, 1899 C.E., while the .NET Framework assumes a base date of January, 1, 0001 C.E.

Yalnızca bir kez COM .NET Framework'ten geçirildiğinde, COM tarafından kullanılan biçimi bir saate dönüştürür özel işleme gerçekleştirilirWhen only a time is passed from the .NET Framework to COM, special processing is performed that converts the time to the format used by COM. Yalnızca bir kez COM'dan .NET Framework geçirildiğinde, meşru bir tarih ve saat veya bu tarihten önce 30 Aralık 1899 bozuk için hiçbir özel işlem gerçekleştirilir.When only a time is passed from COM to the .NET Framework, no special processing is performed because that would corrupt legitimate dates and times on or before December 30, 1899. Bir tarih COM'dan kendi gidiş dönüş başlarsa, COM ve .NET Framework tarih korur.If a date starts its round-trip from COM, the .NET Framework and COM preserve the date.

COM ve .NET Framework davranışını olması durumunda, uygulama gidiş dönüş anlamına gelir. bir DateTime yalnızca bir saati belirten, uygulamanızın değiştirmek ya da hatalı tarihten itibaren en son yoksay hatırlamalısınız DateTime nesne.The behavior of the .NET Framework and COM means that if your application round-trips a DateTime that only specifies a time, your application must remember to modify or ignore the erroneous date from the final DateTime object.

Oluşturucular

DateTime(Int64) DateTime(Int64) DateTime(Int64) DateTime(Int64)

Yeni bir örneğini başlatır DateTime yapısı belirtilen sayıda saat döngüsü. Initializes a new instance of the DateTime structure to a specified number of ticks.

DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind) DateTime(Int64, DateTimeKind)

Yeni bir örneğini başlatır DateTime yapısı belirtilen bir tıklarının sayısını ve Eşgüdümlü Evrensel Saat (UTC) veya yerel saat. Initializes a new instance of the DateTime structure to a specified number of ticks and to Coordinated Universal Time (UTC) or local time.

DateTime(Int32, Int32, Int32) DateTime(Int32, Int32, Int32) DateTime(Int32, Int32, Int32) DateTime(Int32, Int32, Int32)

Yeni bir örneğini başlatır DateTime yapısına belirtilen yıl, ay ve gün. Initializes a new instance of the DateTime structure to the specified year, month, and day.

DateTime(Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Calendar)

Yeni bir örneğini başlatır DateTime belirtilen yıl, ay ve gün için belirtilen takvim yapısına. Initializes a new instance of the DateTime structure to the specified year, month, and day for the specified calendar.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32)

Yeni bir örneğini başlatır DateTime yapısına belirtilen yıl, ay, gün, saat, dakika ve saniye. Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, and second.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Yeni bir örneğini başlatır DateTime yapısı belirtilen yıl, ay, gün, saat, dakika, saniye ve Eşgüdümlü Evrensel Saat (UTC) veya yerel saat. Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and Coordinated Universal Time (UTC) or local time.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

Yeni bir örneğini başlatır DateTime belirtilen yıl, ay, gün, saat, dakika ve ikinci belirtilen takvimi yapısına. Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, and second for the specified calendar.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Yeni bir örneğini başlatır DateTime yapısına belirtilen yıl, ay, gün, saat, dakika, saniye ve milisaniye. Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and millisecond.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Yeni bir örneğini başlatır DateTime yapısı belirtilen yıl, ay, gün, saat, dakika, saniye, milisaniye ve Eşgüdümlü Evrensel Saat (UTC) veya yerel saat. Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

Yeni bir örneğini başlatır DateTime yapısına belirtilen yıl, ay, gün, saat, dakika, saniye ve belirtilen takvim için milisaniye. Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and millisecond for the specified calendar.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)

Yeni bir örneğini başlatır DateTime belirtilen yıl, ay, gün, saat, dakika, saniye, milisaniye ve Eşgüdümlü Evrensel Saat (UTC) veya belirtilen takvim için yerel zamanı yapısına. Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time for the specified calendar.

Alanlar

MaxValue MaxValue MaxValue MaxValue

Mümkün olan en büyük değerini temsil eden DateTime. Represents the largest possible value of DateTime. Bu alan salt okunurdur. This field is read-only.

MinValue MinValue MinValue MinValue

Mümkün olan en küçük değerini temsil eden DateTime. Represents the smallest possible value of DateTime. Bu alan salt okunurdur. This field is read-only.

UnixEpoch UnixEpoch UnixEpoch UnixEpoch

Özellikler

Date Date Date Date

Bu örneğin tarih bileşenini alır. Gets the date component of this instance.

Day Day Day Day

Bu örneği tarafından temsil edilen ayın gününü alır. Gets the day of the month represented by this instance.

DayOfWeek DayOfWeek DayOfWeek DayOfWeek

Bu örneği tarafından temsil edilen haftanın gününü alır. Gets the day of the week represented by this instance.

DayOfYear DayOfYear DayOfYear DayOfYear

Bu örneği tarafından temsil edilen yılın gününü alır. Gets the day of the year represented by this instance.

Hour Hour Hour Hour

Bu örneği tarafından temsil edilen tarih ve saat bileşenini alır. Gets the hour component of the date represented by this instance.

Kind Kind Kind Kind

Bu örneği tarafından temsil edilen zamandan yerel saat, Eşgüdümlü Evrensel Saat (UTC) veya hiçbiri dayalı olup olmadığını gösteren bir değer alır. Gets a value that indicates whether the time represented by this instance is based on local time, Coordinated Universal Time (UTC), or neither.

Millisecond Millisecond Millisecond Millisecond

Bu örneği tarafından temsil edilen tarih ait milisaniye bileşenini alır. Gets the milliseconds component of the date represented by this instance.

Minute Minute Minute Minute

Bu örneği tarafından temsil edilen tarih dakika bileşenini alır. Gets the minute component of the date represented by this instance.

Month Month Month Month

Bu örneği tarafından temsil edilen tarih ay bileşenini alır. Gets the month component of the date represented by this instance.

Now Now Now Now

Alır bir DateTime nesnesini geçerli tarih ve saat bu bilgisayarda yerel saat cinsinden ayarlanır. Gets a DateTime object that is set to the current date and time on this computer, expressed as the local time.

Second Second Second Second

Tarihin saniye bileşenini bu örneği tarafından temsil edilen alır. Gets the seconds component of the date represented by this instance.

Ticks Ticks Ticks Ticks

Tarihi temsil eden tıklarının sayısını ve bu örneğinin saati alır. Gets the number of ticks that represent the date and time of this instance.

TimeOfDay TimeOfDay TimeOfDay TimeOfDay

Bu örnek için günün saatini alır. Gets the time of day for this instance.

Today Today Today Today

Geçerli tarihi alır. Gets the current date.

UtcNow UtcNow UtcNow UtcNow

Alır bir DateTime nesnesini geçerli tarih ve saati Eşgüdümlü Evrensel Saat (UTC) olarak ifade edilen, bu bilgisayarda ayarlanır. Gets a DateTime object that is set to the current date and time on this computer, expressed as the Coordinated Universal Time (UTC).

Year Year Year Year

Bu örneği tarafından temsil edilen tarih yıl bileşenini alır. Gets the year component of the date represented by this instance.

Yöntemler

Add(TimeSpan) Add(TimeSpan) Add(TimeSpan) Add(TimeSpan)

Yeni bir DateTime belirtilen değeri ekleyen TimeSpan bu örneğinin değeri. Returns a new DateTime that adds the value of the specified TimeSpan to the value of this instance.

AddDays(Double) AddDays(Double) AddDays(Double) AddDays(Double)

Yeni bir DateTime , belirtilen gün sayısı bu örneğin değerine ekler. Returns a new DateTime that adds the specified number of days to the value of this instance.

AddHours(Double) AddHours(Double) AddHours(Double) AddHours(Double)

Yeni bir DateTime bu örneğinin değerini, belirtilen sayıda saat ekler. Returns a new DateTime that adds the specified number of hours to the value of this instance.

AddMilliseconds(Double) AddMilliseconds(Double) AddMilliseconds(Double) AddMilliseconds(Double)

Yeni bir DateTime bu örneğinin değerini, belirtilen sayıda milisaniye ekler. Returns a new DateTime that adds the specified number of milliseconds to the value of this instance.

AddMinutes(Double) AddMinutes(Double) AddMinutes(Double) AddMinutes(Double)

Yeni bir DateTime bu örneğinin değerini, belirtilen sayıda dakika ekler. Returns a new DateTime that adds the specified number of minutes to the value of this instance.

AddMonths(Int32) AddMonths(Int32) AddMonths(Int32) AddMonths(Int32)

Yeni bir DateTime bu örneğinin değerini, belirtilen sayıda ay ekler. Returns a new DateTime that adds the specified number of months to the value of this instance.

AddSeconds(Double) AddSeconds(Double) AddSeconds(Double) AddSeconds(Double)

Yeni bir DateTime bu örneğinin değerini, belirtilen sayıda saniye ekler. Returns a new DateTime that adds the specified number of seconds to the value of this instance.

AddTicks(Int64) AddTicks(Int64) AddTicks(Int64) AddTicks(Int64)

Yeni bir DateTime , belirtilen sayısı bu örneğin değerine ekler. Returns a new DateTime that adds the specified number of ticks to the value of this instance.

AddYears(Int32) AddYears(Int32) AddYears(Int32) AddYears(Int32)

Yeni bir DateTime bu örneğinin değerini, belirtilen sayıda yıl ekler. Returns a new DateTime that adds the specified number of years to the value of this instance.

Compare(DateTime, DateTime) Compare(DateTime, DateTime) Compare(DateTime, DateTime) Compare(DateTime, DateTime)

İki örneği karşılaştırır DateTime ve ilk örnek olarak, ikinci örnek daha sonra aynı daha önceki olup olmadığını belirten bir tamsayı döndürür. Compares two instances of DateTime and returns an integer that indicates whether the first instance is earlier than, the same as, or later than the second instance.

CompareTo(DateTime) CompareTo(DateTime) CompareTo(DateTime) CompareTo(DateTime)

Bu örneğin belirtilen bir değeri karşılaştıran DateTime değeri ve bu örnek olarak veya belirtilenden daha sonra aynı daha eski olduğunu belirten bir tamsayı döndürür DateTime değeri. Compares the value of this instance to a specified DateTime value and returns an integer that indicates whether this instance is earlier than, the same as, or later than the specified DateTime value.

CompareTo(Object) CompareTo(Object) CompareTo(Object) CompareTo(Object)

Belirtilen içeren belirtilen nesne bu örneğinin değerini karşılaştırır DateTime değeri ve bu örnek olarak veya belirtilenden daha sonra aynı daha eski olduğunu belirten bir tamsayı döndürür DateTime değeri. Compares the value of this instance to a specified object that contains a specified DateTime value, and returns an integer that indicates whether this instance is earlier than, the same as, or later than the specified DateTime value.

DaysInMonth(Int32, Int32) DaysInMonth(Int32, Int32) DaysInMonth(Int32, Int32) DaysInMonth(Int32, Int32)

Belirtilen ay ve yıl sayısını döndürür. Returns the number of days in the specified month and year.

Equals(DateTime, DateTime) Equals(DateTime, DateTime) Equals(DateTime, DateTime) Equals(DateTime, DateTime)

Döndürür belirten bir değer iki olmadığını DateTime örneğiniz aynı tarih ve saat değeri. Returns a value indicating whether two DateTime instances have the same date and time value.

Equals(DateTime) Equals(DateTime) Equals(DateTime) Equals(DateTime)

Bu örneğinin değerini belirtilen değere eşit olup olmadığını gösteren bir değer döndürür DateTime örneği. Returns a value indicating whether the value of this instance is equal to the value of the specified DateTime instance.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bu örneğin, belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür. Returns a value indicating whether this instance is equal to a specified object.

FromBinary(Int64) FromBinary(Int64) FromBinary(Int64) FromBinary(Int64)

64 bit ikili bir değeri çıkarır ve özgün seri oluşturur DateTime nesne. Deserializes a 64-bit binary value and recreates an original serialized DateTime object.

FromFileTime(Int64) FromFileTime(Int64) FromFileTime(Int64) FromFileTime(Int64)

Belirtilen Windows dosya zamanı eşdeğer bir yerel saate dönüştürür. Converts the specified Windows file time to an equivalent local time.

FromFileTimeUtc(Int64) FromFileTimeUtc(Int64) FromFileTimeUtc(Int64) FromFileTimeUtc(Int64)

Belirtilen Windows dosya zamanı eşdeğer bir UTC saati için dönüştürür. Converts the specified Windows file time to an equivalent UTC time.

FromOADate(Double) FromOADate(Double) FromOADate(Double) FromOADate(Double)

Döndürür bir DateTime belirtilen OLE otomatikleştirme tarihi ile eşdeğerdir. Returns a DateTime equivalent to the specified OLE Automation Date.

GetDateTimeFormats() GetDateTimeFormats() GetDateTimeFormats() GetDateTimeFormats()

Bu örnekteki değerin standart tarih ve saat biçimi belirticisi tarafından desteklenen tüm dize gösterimleri dönüştürür. Converts the value of this instance to all the string representations supported by the standard date and time format specifiers.

GetDateTimeFormats(Char) GetDateTimeFormats(Char) GetDateTimeFormats(Char) GetDateTimeFormats(Char)

Bu örneğinin değerini belirtilen standart tarih ve saat biçimi Belirleyicisi tarafından desteklenen tüm dize gösterimleri dönüştürür. Converts the value of this instance to all the string representations supported by the specified standard date and time format specifier.

GetDateTimeFormats(IFormatProvider) GetDateTimeFormats(IFormatProvider) GetDateTimeFormats(IFormatProvider) GetDateTimeFormats(IFormatProvider)

Bu örnekteki değerin standart tarih ve saat biçim tanımlayıcılarının ve belirtilen kültüre özgü biçimlendirme bilgileri tarafından desteklenen tüm dize gösterimleri dönüştürür. Converts the value of this instance to all the string representations supported by the standard date and time format specifiers and the specified culture-specific formatting information.

GetDateTimeFormats(Char, IFormatProvider) GetDateTimeFormats(Char, IFormatProvider) GetDateTimeFormats(Char, IFormatProvider) GetDateTimeFormats(Char, IFormatProvider)

Bu örneğinin değerini belirtilen standart tarih ve saat biçimi Belirleyicisi ve kültüre özgü biçimlendirme bilgileri tarafından desteklenen tüm dize gösterimleri dönüştürür. Converts the value of this instance to all the string representations supported by the specified standard date and time format specifier and culture-specific formatting information.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Bu örneğin karma kodunu döndürür. Returns the hash code for this instance.

GetTypeCode() GetTypeCode() GetTypeCode() GetTypeCode()

Döndürür TypeCode değer türü DateTime. Returns the TypeCode for value type DateTime.

IsDaylightSavingTime() IsDaylightSavingTime() IsDaylightSavingTime() IsDaylightSavingTime()

Belirtir olup olmadığını, bu örneği DateTime geçerli saat diliminin gün ışığından yararlanma aralığında. Indicates whether this instance of DateTime is within the daylight saving time range for the current time zone.

IsLeapYear(Int32) IsLeapYear(Int32) IsLeapYear(Int32) IsLeapYear(Int32)

Belirtilen yılının artık yıl olup bir göstergesini döndürür. Returns an indication whether the specified year is a leap year.

Parse(String) Parse(String) Parse(String) Parse(String)

Bir tarih ve saatin dize gösterimini dönüştürür, DateTime geçerli iş parçacığı kültürü kurallarını kullanarak eşdeğer. Converts the string representation of a date and time to its DateTime equivalent by using the conventions of the current thread culture.

Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider)

Bir tarih ve saatin dize gösterimini dönüştürür, DateTime kültüre özgü biçim bilgilerini kullanarak eşdeğer. Converts the string representation of a date and time to its DateTime equivalent by using culture-specific format information.

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)
Parse(String, IFormatProvider, DateTimeStyles) Parse(String, IFormatProvider, DateTimeStyles) Parse(String, IFormatProvider, DateTimeStyles) Parse(String, IFormatProvider, DateTimeStyles)

Bir tarih ve saatin dize gösterimini dönüştürür, DateTime kültüre özgü biçim bilgilerini ve biçimlendirme stili kullanarak eşdeğer. Converts the string representation of a date and time to its DateTime equivalent by using culture-specific format information and a formatting style.

ParseExact(String, String, IFormatProvider) ParseExact(String, String, IFormatProvider) ParseExact(String, String, IFormatProvider) ParseExact(String, String, IFormatProvider)

Bir tarih ve saat için belirtilen dize gösterimini dönüştürür, DateTime belirtilen biçim ve kültüre özgü biçim bilgilerini kullanarak eşdeğer. Converts the specified string representation of a date and time to its DateTime equivalent using the specified format and culture-specific format information. Dize gösteriminin biçimi belirtilen biçimle tam olarak eşleşmelidir. The format of the string representation must match the specified format exactly.

ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)
ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles) ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles) ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles) ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles)
ParseExact(String, String, IFormatProvider, DateTimeStyles) ParseExact(String, String, IFormatProvider, DateTimeStyles) ParseExact(String, String, IFormatProvider, DateTimeStyles) ParseExact(String, String, IFormatProvider, DateTimeStyles)

Bir tarih ve saat için belirtilen dize gösterimini dönüştürür, DateTime belirtilen biçim, kültüre özgü biçim bilgilerini ve stil kullanarak eşdeğer. Converts the specified string representation of a date and time to its DateTime equivalent using the specified format, culture-specific format information, and style. Dize gösteriminin biçimi belirtilen biçimle tam olarak eşleşmelidir veya bir özel durum oluşturulur. The format of the string representation must match the specified format exactly or an exception is thrown.

ParseExact(String, String[], IFormatProvider, DateTimeStyles) ParseExact(String, String[], IFormatProvider, DateTimeStyles) ParseExact(String, String[], IFormatProvider, DateTimeStyles) ParseExact(String, String[], IFormatProvider, DateTimeStyles)

Bir tarih ve saat için belirtilen dize gösterimini dönüştürür, DateTime biçimleri, kültüre özgü biçim bilgilerini ve stil belirtilen dizi kullanarak eşdeğer. Converts the specified string representation of a date and time to its DateTime equivalent using the specified array of formats, culture-specific format information, and style. Dize gösteriminin biçimi belirtilen biçimlerinden biriyle tam olarak eşleşmelidir veya bir özel durum oluşturulur. The format of the string representation must match at least one of the specified formats exactly or an exception is thrown.

SpecifyKind(DateTime, DateTimeKind) SpecifyKind(DateTime, DateTimeKind) SpecifyKind(DateTime, DateTimeKind) SpecifyKind(DateTime, DateTimeKind)

Yeni bir oluşturur DateTime belirtildiği gibi aynı sayısı nesnesi DateTime, yerel saat, Eşgüdümlü Evrensel Saat (UTC) veya hiçbiri belirtilen tarafından belirtildiği şekilde atanmış ancak DateTimeKind değeri. Creates a new DateTime object that has the same number of ticks as the specified DateTime, but is designated as either local time, Coordinated Universal Time (UTC), or neither, as indicated by the specified DateTimeKind value.

Subtract(DateTime) Subtract(DateTime) Subtract(DateTime) Subtract(DateTime)

Belirtilen tarih ve saat bu örneğinden çıkarır. Subtracts the specified date and time from this instance.

Subtract(TimeSpan) Subtract(TimeSpan) Subtract(TimeSpan) Subtract(TimeSpan)

Bu örneğinden belirtilen süre çıkarır. Subtracts the specified duration from this instance.

ToBinary() ToBinary() ToBinary() ToBinary()

Geçerli serileştiren DateTime nesnesi daha sonra yeniden oluşturmak için kullanılabilir bir 64 bit ikili değere DateTime nesne. Serializes the current DateTime object to a 64-bit binary value that subsequently can be used to recreate the DateTime object.

ToFileTime() ToFileTime() ToFileTime() ToFileTime()

Geçerli değerini dönüştürür DateTime nesne için bir Windows dosya zamanı. Converts the value of the current DateTime object to a Windows file time.

ToFileTimeUtc() ToFileTimeUtc() ToFileTimeUtc() ToFileTimeUtc()

Geçerli değerini dönüştürür DateTime nesne için bir Windows dosya zamanı. Converts the value of the current DateTime object to a Windows file time.

ToLocalTime() ToLocalTime() ToLocalTime() ToLocalTime()

Geçerli değerini dönüştürür DateTime nesnesine yerel saat. Converts the value of the current DateTime object to local time.

ToLongDateString() ToLongDateString() ToLongDateString() ToLongDateString()

Geçerli değerini dönüştürür DateTime nesnenin dize gösterimindeki karşılığı uzun tarih. Converts the value of the current DateTime object to its equivalent long date string representation.

ToLongTimeString() ToLongTimeString() ToLongTimeString() ToLongTimeString()

Geçerli değerini dönüştürür DateTime uzun eşdeğer dize gösterimine için nesne. Converts the value of the current DateTime object to its equivalent long time string representation.

ToOADate() ToOADate() ToOADate() ToOADate()

Bu örneğinin değerini eşdeğer OLE Otomasyonu tarihe dönüştürür. Converts the value of this instance to the equivalent OLE Automation date.

ToShortDateString() ToShortDateString() ToShortDateString() ToShortDateString()

Geçerli değerini dönüştürür DateTime nesnenin dize gösterimindeki karşılığı kısa tarih. Converts the value of the current DateTime object to its equivalent short date string representation.

ToShortTimeString() ToShortTimeString() ToShortTimeString() ToShortTimeString()

Geçerli değerini dönüştürür DateTime kısa süre eşdeğer dize gösterimine için nesne. Converts the value of the current DateTime object to its equivalent short time string representation.

ToString(String, IFormatProvider) ToString(String, IFormatProvider) ToString(String, IFormatProvider) ToString(String, IFormatProvider)

Geçerli değerini dönüştürür DateTime belirtilen biçim ve kültüre özgü biçim bilgilerini kullanarak eşdeğer dize gösterimine için nesne. Converts the value of the current DateTime object to its equivalent string representation using the specified format and culture-specific format information.

ToString(String) ToString(String) ToString(String) ToString(String)

Geçerli değerini dönüştürür DateTime belirtilen biçim ve geçerli kültürün biçimlendirme kurallarını kullanarak eşdeğer dize gösterimine için nesne. Converts the value of the current DateTime object to its equivalent string representation using the specified format and the formatting conventions of the current culture.

ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider)

Geçerli değerini dönüştürür DateTime belirtilen kültüre özgü biçim bilgilerini kullanarak eşdeğer dize gösterimine için nesne. Converts the value of the current DateTime object to its equivalent string representation using the specified culture-specific format information.

ToString() ToString() ToString() ToString()

Geçerli değerini dönüştürür DateTime geçerli kültürün biçimlendirme kurallarını kullanarak eşdeğer dize gösterimine için nesne. Converts the value of the current DateTime object to its equivalent string representation using the formatting conventions of the current culture.

ToUniversalTime() ToUniversalTime() ToUniversalTime() ToUniversalTime()

Geçerli değerini dönüştürür DateTime nesne için Eşgüdümlü Evrensel Saat (UTC). Converts the value of the current DateTime object to Coordinated Universal Time (UTC).

TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)
TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime)
TryParse(String, DateTime) TryParse(String, DateTime) TryParse(String, DateTime) TryParse(String, DateTime)

Bir tarih ve saat için belirtilen dize gösterimini dönüştürür, DateTime eşdeğer ve dönüştürmenin başarılı olup olmadığını gösteren bir değer döndürür. Converts the specified string representation of a date and time to its DateTime equivalent and returns a value that indicates whether the conversion succeeded.

TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime)

Bir tarih ve saat için belirtilen dize gösterimini dönüştürür, DateTime eşdeğer belirtilen kültüre özgü biçim bilgilerini kullanarak ve biçimlendirme stili ve dönüştürmenin başarılı olup olmadığını gösteren bir değer döndürür. Converts the specified string representation of a date and time to its DateTime equivalent using the specified culture-specific format information and formatting style, and returns a value that indicates whether the conversion succeeded.

TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime)
TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime)
TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles, DateTime) TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles, DateTime) TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles, DateTime) TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles, DateTime)
TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime)

Bir tarih ve saat için belirtilen dize gösterimini dönüştürür, DateTime belirtilen biçim, kültüre özgü biçim bilgilerini ve stil kullanarak eşdeğer. Converts the specified string representation of a date and time to its DateTime equivalent using the specified format, culture-specific format information, and style. Dize gösteriminin biçimi belirtilen biçimle tam olarak eşleşmelidir. The format of the string representation must match the specified format exactly. Yöntem, dönüştürmenin başarılı olup olmadığını gösteren bir değeri döndürür. The method returns a value that indicates whether the conversion succeeded.

TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime)

Bir tarih ve saat için belirtilen dize gösterimini dönüştürür, DateTime biçimleri, kültüre özgü biçim bilgilerini ve stil belirtilen dizi kullanarak eşdeğer. Converts the specified string representation of a date and time to its DateTime equivalent using the specified array of formats, culture-specific format information, and style. Dize gösteriminin biçimi belirtilen biçimlerinden biri tam olarak eşleşmelidir. The format of the string representation must match at least one of the specified formats exactly. Yöntem, dönüştürmenin başarılı olup olmadığını gösteren bir değeri döndürür. The method returns a value that indicates whether the conversion succeeded.

İşleçler

Addition(DateTime, TimeSpan) Addition(DateTime, TimeSpan) Addition(DateTime, TimeSpan) Addition(DateTime, TimeSpan)

Belirtilen zaman aralığı için belirtilen tarih ve saat, yeni bir tarih ve saat sonuçlanmıyor ekler. Adds a specified time interval to a specified date and time, yielding a new date and time.

Equality(DateTime, DateTime) Equality(DateTime, DateTime) Equality(DateTime, DateTime) Equality(DateTime, DateTime)

Örneğini belirtilen iki olup olmadığını belirler DateTime eşit. Determines whether two specified instances of DateTime are equal.

GreaterThan(DateTime, DateTime) GreaterThan(DateTime, DateTime) GreaterThan(DateTime, DateTime) GreaterThan(DateTime, DateTime)

Belirtilen olup olmadığını belirler DateTime belirtilen diğerinden daha DateTime. Determines whether one specified DateTime is later than another specified DateTime.

GreaterThanOrEqual(DateTime, DateTime) GreaterThanOrEqual(DateTime, DateTime) GreaterThanOrEqual(DateTime, DateTime) GreaterThanOrEqual(DateTime, DateTime)

Belirtilen olup olmadığını belirler DateTime bir tarih ve saat olarak ya da belirtilen bir diğerinden daha sonra aynı olan temsil DateTime. Determines whether one specified DateTime represents a date and time that is the same as or later than another specified DateTime.

Inequality(DateTime, DateTime) Inequality(DateTime, DateTime) Inequality(DateTime, DateTime) Inequality(DateTime, DateTime)

Örneğini belirtilen iki olup olmadığını belirler DateTime eşit değildir. Determines whether two specified instances of DateTime are not equal.

LessThan(DateTime, DateTime) LessThan(DateTime, DateTime) LessThan(DateTime, DateTime) LessThan(DateTime, DateTime)

Belirtilen olup olmadığını belirler DateTime belirtilen diğerinden daha eski DateTime. Determines whether one specified DateTime is earlier than another specified DateTime.

LessThanOrEqual(DateTime, DateTime) LessThanOrEqual(DateTime, DateTime) LessThanOrEqual(DateTime, DateTime) LessThanOrEqual(DateTime, DateTime)

Belirtilen olup olmadığını belirler DateTime bir tarih ve saat olarak ya da belirtilen başka bir'den önceki aynı olan temsil DateTime. Determines whether one specified DateTime represents a date and time that is the same as or earlier than another specified DateTime.

Subtraction(DateTime, TimeSpan) Subtraction(DateTime, TimeSpan) Subtraction(DateTime, TimeSpan) Subtraction(DateTime, TimeSpan)

Belirtilen tarih ve saati belirtilen zaman aralığından çıkarır ve yeni bir tarih ve saati döndürür. Subtracts a specified time interval from a specified date and time and returns a new date and time.

Subtraction(DateTime, DateTime) Subtraction(DateTime, DateTime) Subtraction(DateTime, DateTime) Subtraction(DateTime, DateTime)

Belirtilen tarih ve saati başka bir belirtilen tarihten itibaren ve zaman çıkarır ve bir zaman aralığını döndürür. Subtracts a specified date and time from another specified date and time and returns a time interval.

Belirtik Arabirim Kullanımları

IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object)
IConvertible.GetTypeCode() IConvertible.GetTypeCode() IConvertible.GetTypeCode() IConvertible.GetTypeCode()
IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider)

Bu dönüşüm desteklenmiyor. This conversion is not supported. Bu yöntemi kullanmaya çalışmak oluşturur bir InvalidCastException. Attempting to use this method throws an InvalidCastException.

IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider)

Bu dönüşüm desteklenmiyor. This conversion is not supported. Bu yöntemi kullanmaya çalışmak oluşturur bir InvalidCastException. Attempting to use this method throws an InvalidCastException.

IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider)

Bu dönüşüm desteklenmiyor. This conversion is not supported. Bu yöntemi kullanmaya çalışmak oluşturur bir InvalidCastException. Attempting to use this method throws an InvalidCastException.

IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider)

Geçerli döndürür DateTime nesne. Returns the current DateTime object.

IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider)

Bu dönüşüm desteklenmiyor. This conversion is not supported. Bu yöntemi kullanmaya çalışmak oluşturur bir InvalidCastException. Attempting to use this method throws an InvalidCastException.

IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider)

Bu dönüşüm desteklenmiyor. This conversion is not supported. Bu yöntemi kullanmaya çalışmak oluşturur bir InvalidCastException. Attempting to use this method throws an InvalidCastException.

IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider)

Bu dönüşüm desteklenmiyor. This conversion is not supported. Bu yöntemi kullanmaya çalışmak oluşturur bir InvalidCastException. Attempting to use this method throws an InvalidCastException.

IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider)

Bu dönüşüm desteklenmiyor. This conversion is not supported. Bu yöntemi kullanmaya çalışmak oluşturur bir InvalidCastException. Attempting to use this method throws an InvalidCastException.

IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider)

Bu dönüşüm desteklenmiyor. This conversion is not supported. Bu yöntemi kullanmaya çalışmak oluşturur bir InvalidCastException. Attempting to use this method throws an InvalidCastException.

IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider)

Bu dönüşüm desteklenmiyor. This conversion is not supported. Bu yöntemi kullanmaya çalışmak oluşturur bir InvalidCastException. Attempting to use this method throws an InvalidCastException.

IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider)

Bu dönüşüm desteklenmiyor. This conversion is not supported. Bu yöntemi kullanmaya çalışmak oluşturur bir InvalidCastException. Attempting to use this method throws an InvalidCastException.

IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider)

Geçerli dönüştürür DateTime belirtilen türde bir nesne için nesne. Converts the current DateTime object to an object of a specified type.

IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider)

Bu dönüşüm desteklenmiyor. This conversion is not supported. Bu yöntemi kullanmaya çalışmak oluşturur bir InvalidCastException. Attempting to use this method throws an InvalidCastException.

IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider)

Bu dönüşüm desteklenmiyor. This conversion is not supported. Bu yöntemi kullanmaya çalışmak oluşturur bir InvalidCastException. Attempting to use this method throws an InvalidCastException.

IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider)

Bu dönüşüm desteklenmiyor. This conversion is not supported. Bu yöntemi kullanmaya çalışmak oluşturur bir InvalidCastException. Attempting to use this method throws an InvalidCastException.

ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Dolduran bir SerializationInfo geçerli serileştirmek için gereken verileri nesnesiyle DateTime nesne. Populates a SerializationInfo object with the data needed to serialize the current DateTime object.

Şunlara uygulanır

İş Parçacığı Güvenliği

Bu türün tüm üyeleri iş parçacığı güvenlidir. All members of this type are thread safe. Örneğin durumunu değiştirmek için görüntülenen üyeler, gerçekte yeni değer ile başlatılan yeni bir örneği döndürür. Members that appear to modify instance state actually return a new instance initialized with the new value. Diğer türlerde olduğu gibi, bu türün örneğini içeren paylaşılan değişkenini okuma ve yazma, iş parçacığı güvenliğini sağlamak için bir kilit tarafından korunmalıdır. As with any other type, reading and writing to a shared variable that contains an instance of this type must be protected by a lock to guarantee thread safety.

Ayrıca Bkz.