Используйте метод ExecuteStoreQuery контекста сущности. Это позволяет избежать загрузки всего набора результатов и десериализации в объекты для простого подсчета строк.
int count; используя (var db = new MyDatabase ()) {строка sql = "SELECT COUNT (*) FROM MyTable, где FkId = {0}"; object [] myParams = {1}; var cntQuery = db.ExecuteStoreQuery & lt; int & gt; (sql, myParams); count = cntQuery.First & lt; int & gt; (); }
Вы сами написали формат.
yourdate.ToString ("yyyyMMddHHmmss")
Все остальное должно быть понятным.
Легкий метод, полный контроль над 'from type' и 'to type', и только нужно запомнить этот код для будущих отливок
DateTime.ParseExact (InputDate, "dd / MM / yyyy ", CultureInfo.InvariantCulture) .ToString (" yyyy / MM / dd "));
После того, как вы потратили много времени на поиск Google, я нашел решение ниже, когда я локально давал дату, без каких-либо исключений, с другого сервера, была ошибка ......... Дата не соответствует формат. Перед сохранением / поиском. Введите дату даты в C #, просто проверяя, что внешняя культура Сервера такая же, как культура сервера базы данных. Ex оба должны быть «en-US» или должны быть «en-GB» asp ниже snap
Даже с другим форматом даты, например (dd / mm / yyyy) или (yyyy / mm / dd), он сохранит или выполнит поиск точно.
Я удивлен, что у меня нет ссылки на это. любой формат может быть создан с использованием приведенных здесь рекомендаций:
Пользовательские строки формата даты и времени
Для вашего конкретного примера (как указывали другие) используйте что-то вроде
my_format = "yyyyMMddHHmmss"; DateTime.Now.ToString (my_format);
Где my_format может быть любой строковой комбинацией y, M, H, m, s, f, F и более! Проверьте ссылку.
Вы должны быть осторожны между месяцами (ММ) и минутами (мм):
DateTime dt = DateTime.Now; // Или любая строка s = dt.ToString ("yyyyMMddHHmmss");
(Также обратите внимание, что HH - 24-часовое время, тогда как hh будет 12-часовым часом, обычно в сочетании с t или tt для обозначения am / pm.)
Если вы хотите сделать это как часть строки составного формата, вы должны использовать:
string s = string.Format ("Дата / время: {0: yyyyMMddHHmmss}" , dt);
Для получения дополнительной информации см. страницу MSDN в пользовательских форматах даты и времени .
now.ToString ("yyyyMMdd_HHmmss")
? Я имею в виду, можно конкатенацию с другими персонажами, правильно?
– DanielV
31 August 2015 в 12:35
На этом сайте есть отличные примеры проверьте
// создайте дату создания 2008-03-09 16: 05: 07.123 DateTime dt = new DateTime (2008) , 3, 9, 16, 5, 7, 123); String.Format ("{0: y yy yyy yyyy}", dt); // "8 08 008 2008" year String.Format ("{0: M MM MMM MMMM}", dt); // «3 марта марта» месяц String.Format («{0: d dd ddd dddd}», dt); // "9 09 Sun Sunday" day String.Format ("{0: h hh H HH}", dt); // «4 04 16 16» час 12/24 String.Format («{0: m mm}», dt); // "5 05" минута String.Format ("{0: s ss}", dt); // "7 07" второй String.Format ("{0: f ff fff ffff}", dt); // "1 12 123 1230" sec.fraction String.Format ("{0: F FF FFF FFFF}", dt); // "1 12 123 123" без нулей String.Format ("{0: t tt}", dt); // «П ПМ» А.М. или P.M. String.Format ("{0: z zz zzz}", dt); // "-6 -06 -06: 00" часовой пояс // числа месяц / день без / с ведущими нулями String.Format ("{0: M / d / yyyy}", dt); // "3/9/2008" String.Format ("{0: MM / dd / yyyy}", dt); // "03/09/2008" // имя дня / месяца String.Format ("{0: ddd, MMM d, yyyy}", dt); // «Sun, Mar 9, 2008» String.Format («{0: dddd, MMMM d, yyyy}», dt); // «Sunday, March 9, 2008» // two / four digit year String.Format («{0: MM / dd / yy}», dt); // "03/09/08" String.Format ("{0: MM / dd / yyyy}", dt); // "03/09/2008"
Стандартное форматирование DateTime
String.Format ("{0: t}", dt); // "4:05 PM" ShortTime String.Format ("{0: d}", dt); // "3/9/2008" ShortDate String.Format ("{0: T}", dt); // "4:05:07 PM" LongTime String.Format ("{0: D}", dt); // «Sunday, March 09, 2008» LongDate String.Format («{0: f}», dt); // "Sunday, March 09, 2008 4:05 PM" LongDate + ShortTime String.Format ("{0: F}", dt); // "Sunday, March 09, 2008 4:05:07 PM" FullDateTime String.Format ("{0: g}", dt); // "3/9/2008 16:05" ShortDate + ShortTime String.Format ("{0: G}", dt); // "3/9/2008 4:05:07 PM" ShortDate + LongTime String.Format ("{0: m}", dt); // «Март 09» MonthDay String.Format («{0: y}», dt); // «Март 2008» YearMonth String.Format («{0: r}», dt); // "Sun, 09 Mar 2008 16:05:07 GMT" RFC1123 String.Format ("{0: s}", dt); // "2008-03-09T16: 05: 07" SortableDateTime String.Format ("{0: u}", dt); // «2008-03-09 16: 05: 07Z». Спецификатор DateTimeFormatInfo. Значение шаблона (для культуры в США) t ShortTimePattern h: mm tt d ShortDatePattern M / d / yyyy T LongTimePattern h: mm: ss tt D LongDatePattern dddd, MMMM dd, yyyy f (комбинация D и t) dddd, MMMM dd, yyyy h: mm tt F FullDateTimePattern dddd, MMMM dd, yyyy h: mm: ss tt g (комбинация d и t) M / d / yyyy h: mm tt G (комбинация d и T) M / d / yyyy h: mm: ss tt m, M MonthDayPattern MMMM dd y, Y YearMonthPattern MMMM, yyyy r, R RFC1123Pattern ddd, dd MMM yyyy HH ' : 'mm': 'ss' GMT '(*) s SortableDateTimePattern yyyy' - 'MM' - 'dd'T'HH': 'mm': 'ss (*) u UniversalSortableDateTimePattern yyyy' - 'MM' - 'dd HH ':' mm ':' ss'Z '(*) (*) = независимый от культуры * /
Обновление с использованием формата интерполяции строк c # 6
// время создания 2008-03-09 16: 05: 07.123 DateTime dt = new DateTime (2008, 3, 9, 16, 5, 7, 123); $ "{dt: y yy yyy yyyy}"; // «8 08 008 2008» год $ «{dt: M MM MMM MMMM}"; // «3 марта марта« месяц $ »{dt: d dd ddd dddd}"; // "9 09 Sun Sunday" день $ "{dt: h hh H HH}"; // "4 04 16 16" час 12/24 $ "{dt: m mm}"; // "5 05" минута $ "{dt: s ss}"; // "7 07" second $ "{dt: f ff fff ffff}"; // "1 12 123 1230" sec.fraction $ "{dt: F FF FFF FFFF}"; // "1 12 123 123" без нулей $ "{dt: t tt}"; // «П ПМ» А.М. или P.M. $ "{dt: z zz zzz}"; // "-6 -06 -06: 00" часовой пояс // числа месяц / день без / с ведущими нулями $ "{dt: M / d / yyyy}"; // "3/9/2008" $ "{dt: MM / dd / yyyy}"; // "03/09/2008" // день / месяц имен $ "{dt: ddd, MMM d, yyyy}"; // "Sun, 9 марта 2008 г." $ "{dt: dddd, MMMM d, yyyy}"; // «Воскресенье, 9 марта 2008 г.» // два / четыре цифры года $ "{dt: MM / dd / yy}"; // "03/09/08" $ "{dt: MM / dd / yyyy}"; // «03/09/2008»
yyyyMMddHHmm [+ -] ZZzz
где Часть [+ -] ZZzz - это часовой пояс (количество часов, которые нужно добавить или вычесть из даты по Гринвичу)
– Kiquenet
31 October 2017 в 17:42
.Replace (& quot;: & quot ;, & quot; & quot;)
$ "{dt: yyyyMMddHHmmzzz}" .Replace (":", " & quot;)
как работа
– Moes
18 December 2017 в 04:24
Вы можете использовать строку пользовательского формата:
DateTime d = DateTime.Now; string dateString = d.ToString ("yyyyMMddHHmmss");
Замените «hh» для «HH», если вы не хотите 24-часового времени.
DateTime.Now.ToString ( "ГГГГММДДччммсс");
, если вы просто хотите, чтобы он отображался как строка
В .Net Standard 2
вы можете отформатировать DateTime
как belows:
DateTime dt = DateTime.Now; CultureInfo iv = CultureInfo.InvariantCulture; // Форматы по умолчанию // D - длинная дата Вторник, 24 апреля 2018 // d - короткая дата 04/24/2018 // F - полная дата долго вторник, 24 апреля 2018 г. 06:30:00 // f - полная дата короткая Вторник, 24 апреля 2018 года 06:30 // G - general long 04/24/2018 06:30:00 // g - общий короткий 04/24/2018 06:30 // U - универсальный полный вторник, 24 апреля 2018 года 06 : 30: 00 // u - универсальная сортировка 2018-04-24 06:30:00 // с - сортировка 2018-04-24T06: 30: 00 // T - долгое время 06:30:00 // t - короткое время 06:30 // O - ISO 8601 2018-04-24T06: 30: 00.0000000 // R - RFC 1123 Вт, 24 апреля 2018 06:30:00 GMT // M - месяц 24 апреля // Y - год 2018 April Console.WriteLine (dt.ToString («D», iv)); // Пользовательские форматы // M / d / yy 4/8/18 // MM / dd / yyyy 04/08/2018 // yy-MM-dd 08-04-18 // yy-MMM-dd ddd 08- Apr-18 Sun // yyyy-Md dddd 2018-4-8 Sunday // yyyy MMMM dd 2018 08 апреля // h: mm: ss tt zzz 4:03:05 PM -03 // HH: m: s tt zzz 16:03:05 -03: 00 // hh: mm: ss tz 04:03:05 P -03 // HH: mm: ss tt zz 16:03:05 PM -03 Console.WriteLine (dt.ToString ( «M / d / yy», iv));
с использованием C # 6.0
$ "Date- {DateTime.Now:yyyyMMddHHmmss}"