标签: datetime-format

在 C# 中更改 DateTime 变量的格式,而不是字符串输出

如何将 C# DateTime 变量的格式从 转换d/M/yyyy HH:mm:ssyyyy/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:指定的转换无效。] …

c# asp.net datetime stored-procedures datetime-format

0
推荐指数
1
解决办法
3089
查看次数

Joda-Time欧洲/柏林的日期时间夏令时

如何使用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偏移解析日期?

java timezone scala jodatime datetime-format

0
推荐指数
1
解决办法
1635
查看次数

打印昨天的日期

我想在vb.net中以这种特殊格式"20.08.2014"打印昨天的日期.

有人可以分享这段代码吗?

.net vb.net datetime datetime-format visual-studio-2008

0
推荐指数
1
解决办法
3253
查看次数

格式化时的日期时间时区

这是我在 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)

php datetime datetime-format

0
推荐指数
1
解决办法
130
查看次数

Python - 解析字符串并将其转换为时间戳

我有下一个格式的字符串:2017-02-14T09:51:46.000-0600

解析字符串并将其转换为时间戳的最佳方法是什么?我可以选择使用正则表达式或编写自己的解析函数,但是否有任何内置方法可以帮助我?

regex datetime parsing datetime-format python-2.7

0
推荐指数
1
解决办法
8145
查看次数

使用 Java 8 DateTimeFormatter 将字符串转换为 LocalDateTime

我正在使用 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"

java datetime datetime-format datetime-parsing java-time

0
推荐指数
1
解决办法
1万
查看次数

将日期和时间格式字符串从 moment.js 转换为 C# 格式

是否有任何现有的函数/库可以将日期和时间格式从 转换moment.jsC#

我将从中接收日期和时间格式(只有格式,没有日期和时间值)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)

c# datetime-format momentjs

0
推荐指数
1
解决办法
3573
查看次数

Python 3.7.0:如何将日期时间格式化为mm-dd-yy hh:mm:ss?

如何将日期时间格式化为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中打印日期时间,而不是像我一样手动进行。请帮忙。谢谢。

datetime date datetime-format python-3.x python-datetime

0
推荐指数
1
解决办法
9029
查看次数

将长度为 8 的字符串转换为 *EUR 日期进行比较

我想将长度为 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 类型?

datetime rpgle datetime-format ibm-midrange

0
推荐指数
1
解决办法
451
查看次数

将字符串转换为 ZonedDateTime

我需要将字符串 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,最后的秒数正在修剪。

java datetime-format zoneddatetime

0
推荐指数
1
解决办法
826
查看次数