如何将 C# DateTime 变量的格式从 转换d/M/yyyy HH:mm:ss为yyyy/M/d HH:mm:ss
我不想更改字符串输出,而是 DateTime 变量本身。
我有一个带@date日期时间参数的存储过程。现在我试图将一个 DateTime 变量Today从 C# 传递给这个存储过程。C# DateTime 变量采用格式,d/M/yyyy HH:mm:ss但存储过程需要格式yyyy/M/d HH:mm:ss。
我尝试使用 LINQ to SQL: 代码:
public static object SP_SelectSalesPriceItem()
{
var query = dc.SP_SalesPrice(DateTime.Now);
return query;
}
Run Code Online (Sandbox Code Playgroud)
存储过程:
ALTER PROCEDURE [dbo].[SP_SalesPrice]
@Date datetime
AS
BEGIN
SET NOCOUNT ON;
select SalesPrice.[Item No_]
from Sales Price
where [Starting Date] < @Date and ([Ending Date] > @Date
Run Code Online (Sandbox Code Playgroud)
这是我在 asp.net 中得到的错误: 指定的强制转换无效。
堆栈跟踪:
[InvalidCastException:指定的转换无效。] …
如何使用Joda-Time datetime 解析日期字符串,该日期时间使用正确的时区和夏令时?
作为scala中的示例,我尝试解析字符串"2014-04-07 01:00:00.000"(没有时区信息).这个日期来自MySQL,应该在tz Europe/Berlin +01:00.我喜欢的是根据2014-04-07 00:00:00 + 01:00的joda约会时间,这是欧洲/柏林目前没有在DST(GMT +1)的时区.
val fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS").withZone(DateTimeZone.forID("Europe/Berlin"))
val dt = fmt.parseDateTime("2014-04-07 01:00:00.000")
Run Code Online (Sandbox Code Playgroud)
不幸的是,Joda-Time将日期解析为2014-04-07T01:00:00.000 + 02:00,这是当前错误的偏移(02:00而不是01:00)
任何想法如何让Joda-Time用正确的DST偏移解析日期?
我想在vb.net中以这种特殊格式"20.08.2014"打印昨天的日期.
有人可以分享这段代码吗?
这是我在 timezone 和 DateTime 中遇到的一个奇怪的问题,我会保持简短:
var_dump($obj->getTime1());
var_dump($obj->getTime2());
Run Code Online (Sandbox Code Playgroud)
给我以下信息(没关系,时区很好等等):
object(DateTime)#379 (3) {
["date"]=>
string(19) "2016-03-28 19:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(12) "Europe/Paris"
}
object(DateTime)#378 (3) {
["date"]=>
string(19) "2016-03-13 19:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(12) "Europe/Paris"
}
Run Code Online (Sandbox Code Playgroud)
但是当我想将(在完全相同的行上)格式化为 string 时:
var_dump($obj->getTime1()->format(DateTime::ISO8601));
var_dump($obj->getTime2()->format(DateTime::ISO8601));
Run Code Online (Sandbox Code Playgroud)
我得到:
string(24) "2016-03-28T19:00:00+0200" <-- Noticed that it has a different timezone
string(24) "2016-03-13T19:00:00+0100"
Run Code Online (Sandbox Code Playgroud)
我讨厌日期时间
PS:当我创建第二个 DateTime 对象时,我克隆了第一个对象并添加了一个 DateInterval:
$someTime = clone $obj->getTime1();
$someTime ->sub(new \DateInterval('P'.$days.'D'));
$event->setTime2($someTime);
Run Code Online (Sandbox Code Playgroud) 我有下一个格式的字符串:2017-02-14T09:51:46.000-0600
解析字符串并将其转换为时间戳的最佳方法是什么?我可以选择使用正则表达式或编写自己的解析函数,但是否有任何内置方法可以帮助我?
我正在使用 Java 8,我的.txt文件中有一个字符串,我想将其转换为LocalDateTime对象。
String time1 = "2017-10-06T17:48:23.558";
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("dd.MM.yyyy. HH:mm:ss");
LocalDateTime alarmTime = LocalDateTime.parse(time1, formatter1);
System.out.println(time1);
Run Code Online (Sandbox Code Playgroud)
这给了我这个例外:
Exception in thread "main" java.time.format.DateTimeParseException: Text '2017-10-06T17:48:23.558' could not be parsed at index 2
at java.time.format.DateTimeFormatter.parseResolved0(Unknown Source)
at java.time.format.DateTimeFormatter.parse(Unknown Source)
at java.time.LocalDateTime.parse(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
PS注意这个:
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.yyyy. HH:mm:ss");
DateTime dt = formatter.parseDateTime(string);
Run Code Online (Sandbox Code Playgroud)
在 Java 8 中不起作用。
编辑:我没有把问题说清楚,我的错:
我的.txt文件中有这个字符串,我需要将它转换为LocalDateTime对象以便将它保存到一个类对象中,但我需要按照规定的格式将它打印出来,以便在表格中打印出来。我不希望它以原始格式打印出来"2017-10-06T17:48:23.558"。我希望它打印出这样的东西:"10.06.2017. 17:48:23"
是否有任何现有的函数/库可以将日期和时间格式从 转换moment.js为C#?
我将从中接收日期和时间格式(只有格式,没有日期和时间值)moment.js并且需要在C#.
例如:
YYYY-MM-DD h:mm A
//this is the format received from moment.js
Run Code Online (Sandbox Code Playgroud)
然后,如果我有一个DateTimein C#,我需要将它显示为
2018-06-14 2:30 PM
//this is equivalent with YYYY-MM-dd h:mm tt
Run Code Online (Sandbox Code Playgroud)
我需要这样的东西:
string ConvertToCustomDateTimeFormat(string momentJsFormat){
// should convert all moment.js date and time format to https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings
}
Run Code Online (Sandbox Code Playgroud)
然后我可以这样使用它:
string dateTimeFormat = ConvertToCustomDateTimeFormat("YYYY-MM-DD h:mm A");
//dateTimeFormat value should be YYYY-MM-dd h:mm tt
string formattedDateTime = myDateTime.ToString(dateTimeFormat);
Console.WriteLine(formattedDateTime);
// output will be 2018-06-14 2:30 PM
Run Code Online (Sandbox Code Playgroud) 如何将日期时间格式化为mm-dd-yy hh:mm:ss?我用下面的代码做到了:
import datetime
t = datetime.datetime.now()
s = str(format(t.second, '02d'))
m = str(format(t.minute, '02d'))
h = str(format(t.hour, '02d'))
d = str(format(t.day, '02d'))
mon = str(format(t.month, '02d'))
y = str(t.year)
x = '-'
z = ':'
print(mon + x + d + x + y + ' ' + h + z + m + z + s)
Run Code Online (Sandbox Code Playgroud)
但是问题是,首先,年份以YYYY而不是YY打印(我只想要年份的最后两位数字)。第二,我确定有一种更简单的方法可以在mm-dd-yy hh:mm:ss中打印日期时间,而不是像我一样手动进行。请帮忙。谢谢。
我想将长度为 8 的字符串转换为日期类型以进行比较。该字符串的格式为 DDMMYYYY (*EUR)。
它没有将日期与月份和月份与年份分开的时间段。如果我向 %date BIF 输入一个类似 '01012018' 的值,编译器会告诉我该表达式对于 *EUR 格式来说太短了:
D dateEUR s d datfmt(*EUR)
C eval dateEUR = %date('01012018':*EUR)
Run Code Online (Sandbox Code Playgroud)
我以前比较两个日期的方法是取它们两个,将它们存储在数据结构中,用子字段重新排序日期,然后从重叠的子字段中获取重新排序的结果日期。
有没有人知道如何在 RPGLE 中将 8A 字符串转换为 DATE 类型?
我需要将字符串 2020-04-15T23:00:00+0000 转换为 ZonedDateTime。我尝试了以下但他们没有工作:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss Z");
System.out.println(ZonedDateTime.parse("2020-04-15T23:00:00+0000", formatter));
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss 00:00");
System.out.println(ZonedDateTime.parse("2020-04-15T23:00:00+0000", formatter));
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss 0000");
System.out.println(ZonedDateTime.parse("2020-04-15T23:00:00+0000", formatter));
Run Code Online (Sandbox Code Playgroud)
我也使用了 ISO_LOCAL_DATE_TIME 但这没有用。有任何想法吗?
更新:
我在下面试过:
OffsetDateTime dateTime1 = OffsetDateTime.parse("2020-04-15T23:00:00+0000",
DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ"));
System.out.println(dateTime1.toZonedDateTime());
Run Code Online (Sandbox Code Playgroud)
我得到的输出为 2020-04-15T23:00Z,但我需要它为 2020-04-15T23:00:00Z,最后的秒数正在修剪。
datetime-format ×10
datetime ×7
java ×3
c# ×2
.net ×1
asp.net ×1
date ×1
ibm-midrange ×1
java-time ×1
jodatime ×1
momentjs ×1
parsing ×1
php ×1
python-2.7 ×1
python-3.x ×1
regex ×1
rpgle ×1
scala ×1
timezone ×1
vb.net ×1