Перейти к содержимому

Как из datetime взять только время

  • автор:

Date Time. Date Свойство

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Возвращает компоненту даты этого экземпляра.

public: property DateTime Date < DateTime get(); >;
public DateTime Date
member this.Date : DateTime
Public ReadOnly Property Date As DateTime
Значение свойства

Новый объект с такой же датой, как этот экземпляр и значением времени, равным полуночи (00:00:00).

Примеры

В следующем примере свойство используется Date для извлечения компонента даты значения с его компонентом DateTime времени, равным нулю (или 0:00:00, или полночь). В нем также показано, что в зависимости от строки формата, используемой при отображении DateTime значения, компонент времени может по-прежнему отображаться в форматированных выходных данных.

using namespace System; void main() < DateTime^ date1 = gcnew DateTime(2008, 6, 1, 7, 47, 0); Console::WriteLine(date1->ToString()); // Get date-only portion of date, without its time. DateTime dateOnly = date1->Date; // Display date using short date string. Console::WriteLine(dateOnly.ToString("d")); // Display date using 24-hour clock. Console::WriteLine(dateOnly.ToString("g")); Console::WriteLine(dateOnly.ToString(L"MM/dd/yyyy HH:mm")); > // The example displays the following output to the console: // 6/1/2008 7:47:00 AM // 6/1/2008 // 6/1/2008 12:00 AM // 06/01/2008 00:00 
using System; public class Example < public static void Main() < DateTime date1 = new DateTime(2008, 6, 1, 7, 47, 0); Console.WriteLine(date1.ToString()); // Get date-only portion of date, without its time. DateTime dateOnly = date1.Date; // Display date using short date string. Console.WriteLine(dateOnly.ToString("d")); // Display date using 24-hour clock. Console.WriteLine(dateOnly.ToString("g")); Console.WriteLine(dateOnly.ToString("MM/dd/yyyy HH:mm")); >> // The example displays output like the following output: // 6/1/2008 7:47:00 AM // 6/1/2008 // 6/1/2008 12:00 AM // 06/01/2008 00:00 
open System let date1 = DateTime(2008, 6, 1, 7, 47, 0) printfn $"" // Get date-only portion of date, without its time. let dateOnly = date1.Date // Display date using short date string. printfn $"" // Display date using 24-hour clock. printfn $"" printfn $"""""" // The example displays output like the following output: // 6/1/2008 7:47:00 AM // 6/1/2008 // 6/1/2008 12:00 AM // 06/01/2008 00:00 
Module Example Public Sub Main() Dim date1 As Date = #6/1/2008 7:47AM# Console.WriteLine(date1.ToString()) ' Get date-only portion of date, without its time. Dim dateOnly As Date = date1.Date ' Display date using short date string. Console.WriteLine(dateOnly.ToString("d")) ' Display date using 24-hour clock. Console.WriteLine(dateOnly.ToString("g")) Console.WriteLine(dateOnly.ToString("MM/dd/yyyy HH:mm")) End Sub End Module ' The example displays output like the following: ' 6/1/2008 7:47:00 AM ' 6/1/2008 ' 6/1/2008 12:00 AM ' 06/01/2008 00:00 

Комментарии

Значение свойства возвращаемого DateTime значения совпадает со значением Kind текущего экземпляра .

DateTime Поскольку тип представляет как даты, так и время в одном типе, важно избегать неправильного толкования даты, возвращаемой свойствомDate, как даты и времени.

Работа с датами и временем

Для работы с датами и временем в .NET предназначена структура DateTime . Она представляет дату и время от 00:00:00 1 января 0001 года до 23:59:59 31 декабря 9999 года.

Для создания нового объекта DateTime также можно использовать конструктор. Пустой конструктор создает начальную дату:

DateTime dateTime = new DateTime(); Console.WriteLine(dateTime); // 01.01.0001 0:00:00

То есть мы получим минимально возможное значение, которое также можно получить следующим образом:

Console.WriteLine(DateTime.MinValue);

Чтобы задать конкретную дату, нужно использовать один из конструкторов, принимающих параметры:

DateTime date1 = new DateTime(2015, 7, 20); // год - месяц - день Console.WriteLine(date1); // 20.07.2015 0:00:00
DateTime date1 = new DateTime(2015, 7, 20, 18, 30, 25); // год - месяц - день - час - минута - секунда Console.WriteLine(date1); // 20.07.2015 18:30:25

Если необходимо получить текущую время и дату, то можно использовать ряд свойств DateTime:

Console.WriteLine(DateTime.Now); Console.WriteLine(DateTime.UtcNow); Console.WriteLine(DateTime.Today);
20.07.2015 11:43:33 20.07.2015 8:43:33 20.07.2015 0:00:00

Свойство DateTime.Now берет текущую дату и время компьютера, DateTime.UtcNow — дата и время относительно времени по Гринвичу (GMT) и DateTime.Today — только текущая дата.

При работе с датами надо учитывать, что по умолчанию для представления дат применяется григорианский календарь. Но что будет, если мы захотим получить день недели для 5 октября 1582 года:

DateTime someDate = new DateTime(1582, 10, 5); Console.WriteLine(someDate.DayOfWeek);

Консоль высветит значение Tuesday, то есть вторник. Однако, как может быть известно из истории, впервые переход с юлианского календаря на григорианский состоялся в октябре 1582 года. Тогда после даты 4 октября (четверг) (еще по юлианскому календарю) сразу перешли к 15 октября (пятница)(уже по григорианскому календарю). Таким образом, фактически выкинули 10 дней. То есть после 4 октября шло 15 октября.

В большинстве случаев данный факт вряд ли как-то повлияет на вычисления, однако при работе с очень давними датами данный аспект следует учитывать.

Операции с DateTime

Основные операции со структурой DateTime связаны со сложением или вычитанием дат. Например, надо к некоторой дате прибавить или, наоборот, отнять несколько дней.

Для добавления дат используется ряд методов:

  • Add(TimeSpan value) : добавляет к дате значение TimeSpan
  • AddDays(double value) : добавляет к текущей дате несколько дней
  • AddHours(double value) : добавляет к текущей дате несколько часов
  • AddMinutes(double value) : добавляет к текущей дате несколько минут
  • AddMonths(int value) : добавляет к текущей дате несколько месяцев
  • AddYears(int value) : добавляет к текущей дате несколько лет

Например, добавим к некоторой дате 3 часа:

DateTime date1 = new DateTime(2015, 7, 20, 18, 30, 25); // 20.07.2015 18:30:25 Console.WriteLine(date1.AddHours(3)); // 20.07.2015 21:30:25

Для вычитания дат используется метод Subtract(DateTime date) :

DateTime date1 = new DateTime(2015, 7, 20, 18, 30, 25); // 20.07.2015 18:30:25 DateTime date2 = new DateTime(2015, 7, 20, 15, 30, 25); // 20.07.2015 15:30:25 Console.WriteLine(date1.Subtract(date2)); // 03:00:00

Здесь даты различаются на три часа, поэтому результатом будет дата «03:00:00».

Метод Substract не имеет возможностей для отдельного вычитания дней, часов и так далее. Но это и не надо, так как мы можем передавать в метод AddDays() и другие методы добавления отрицательные значения:

// вычтем три часа DateTime date1 = new DateTime(2015, 7, 20, 18, 30, 25); // 20.07.2015 18:30:25 Console.WriteLine(date1.AddHours(-3)); // 20.07.2015 15:30:25

Кроме операций сложения и вычитания еще есть ряд методов форматирования дат:

DateTime date1 = new DateTime(2015, 7, 20, 18, 30, 25); Console.WriteLine(date1.ToLocalTime()); // 20.07.2015 21:30:25 Console.WriteLine(date1.ToUniversalTime()); // 20.07.2015 15:30:25 Console.WriteLine(date1.ToLongDateString()); // 20 июля 2015 г. Console.WriteLine(date1.ToShortDateString()); // 20.07.2015 Console.WriteLine(date1.ToLongTimeString()); // 18:30:25 Console.WriteLine(date1.ToShortTimeString()); // 18:30

Метод ToLocalTime() преобразует время UTC в локальное время, добавляя смещение относительно времени по Гринвичу. Метод ToUniversalTime() , наоборот, преобразует локальное время во время UTC, то есть вычитает смещение относительно времени по Гринвичу. Остальные методы преобразуют дату к определенному формату.

Как в python получить текущую дату и время

datetime.fromtimestamp(timestamp) — дата из стандартного представления времени.

datetime.date() — объект даты (с отсечением времени).

datetime.time() — объект времени (с отсечением даты).

datetime.combine(date, time) — объект datetime из комбинации объектов date и time.

datetime.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]) — возвращает новый объект datetime с изменёнными атрибутами.

datetime.weekday() — день недели в числовом формате, понедельник — 0, воскресенье — 6.

datetime.isoweekday() — день недели в числовом формате, понедельник — 1, воскресенье — 7.

datetime.strptime(date_string, format) — преобразует строку в datetime.

datetime.strftime(format) — преобразует datetime в строку в datetime.

Опции strftime из документации на модуль time

Datetime python3 как вывести только время?

Для этого Вам нужно использовать форматированный вывод. Например:

import datetime date = datetime.datetime.today() print(date.strftime('%H:%M')) 

Более подробно можно почитать здесь.

Отслеживать
ответ дан 10 сен 2020 в 19:31
11.7k 9 9 золотых знаков 28 28 серебряных знаков 40 40 бронзовых знаков

import time time = time.asctime() print(time[11:-8]) 

Отслеживать
ответ дан 10 сен 2020 в 19:29
31 4 4 бронзовых знака

Ну можно через костыль str. Преобразовать в строку и вывечти первый 5 символов. Но это такое.. Думаю тут получше предложат

print(str((datetime.datetime.now(datetime.timezone.utc) + delta).time())[:5]) 

Отслеживать
ответ дан 10 сен 2020 в 19:35
1,341 5 5 серебряных знаков 10 10 бронзовых знаков

strftime() and strptime() Format Codes

The following is a list of all the format codes that the 1989 C standard requires, and these work on all platforms with a standard C implementation.

Отслеживать
ответ дан 11 сен 2020 в 7:59
2,687 6 6 серебряных знаков 13 13 бронзовых знаков

  • python
  • python-3.x
  • datetime
  • timezone
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.8.3130

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *