我程序每分钟获取一串当前时间,因为 date = '201711081750'
我想将这些字符串作为np.datetime64存储到数组中。
我想我可以将这种字符串转换为
>>> date = '201711081750'
>>> np.datetime64( date[:4] +'-'+date[4:6]+'-'+date[6:8]+' ' +date[8:10]+':'+date[10:] , 'm' )
numpy.datetime64('2017-11-08T17:50')
Run Code Online (Sandbox Code Playgroud)
但是它看起来很复杂,我认为稍后可能会引发错误。
有更简单的方法可以做到这一点吗?
我这个约会在这里:
DateTime RelevantDate = new DateTime(2017, 11, 13, 16, 0, 0, 0);
request.RelevantDate = Convert.ToDateTime(RelevantDate.ToString("o"));
Run Code Online (Sandbox Code Playgroud)
我期待着:
2017-11-13T16:00:00-05:00
相反,我得到:
2017-11-13T16:00:00
这真的需要采用以下格式:2017-11-13T16:00:00-05:00,我该怎么做?request.RelevantDate期待DateTime
如果我这样做:
request.RelevantDate = Convert.ToDateTime(DateTime.Now.ToString("o"));
Run Code Online (Sandbox Code Playgroud)
它给了我正确的格式:
2017-11-08T06:43:39-05:00
我已经将timezone选项设置为我的时区(Europe/Zagreb我也尝试+01:00过),并且时间保存应该是,但是,当从数据库中读取时间时,Sequelize会将其转换为UTC.我曾尝试不同的时区也一样,每个正确保存,而是从数据库中读取时总是转换为UTC.
我做错了什么,或者这是一个已知的问题,是否有任何解决方法?
我创建了一个新的连接:
sequelize = new Sequelize(config.database, config.username, config.password, config);
Run Code Online (Sandbox Code Playgroud)
我的配置看起来像这样:
"development": {
"username": "root",
"password": "root",
"database": "db",
"host": "localhost",
"dialect": "mysql",
"timezone": "Europe/Zagreb"
}
Run Code Online (Sandbox Code Playgroud) 在Windows中,我们得到这样的时区列表:
ID Time zone name Display string
-- -------------- --------------
0 Dateline Standard Time (UTC-12:00) International Date Line West
110 UTC-11 (UTC-11:00) Coordinated Universal Time -11
200 Hawaiian Standard Time (UTC-10:00) Hawaii
300 Alaskan Standard Time (UTC-09:00) Alaska
Run Code Online (Sandbox Code Playgroud)
更多在这里.
我使用此列表使用TimeZoneInfo接受上面列表中显示的时区名称的类从一个时区转换为另一个时区.
防爆.
// Local time zone to UTC
var utcOffset = new DateTimeOffset(DateTime.UtcNow, TimeSpan.Zero);
var localTimeZone = TimeZoneInfo.FindSystemTimeZoneById(timezoneName); // here tz name can be any name from above table
var localOffset = new DateTimeOffset(date.Value, localTimeZone.GetUtcOffset(utcOffset));
DateTime utcDate …Run Code Online (Sandbox Code Playgroud) 我试图将日期字符串08-12-2017转换为2017-12-08(LocalDate).这是我试过的 -
String startDateString = "08-12-2017";
LocalDate date = LocalDate.parse(startDateString);
System.out.println(date);
Run Code Online (Sandbox Code Playgroud)
还尝试使用formatter,但得到相同的结果,一个DateTimeParseException.如何在没有例外的情况下获得像2017-12-08这样的输出?
我有一个用户案例类的数据集,其中包含出生日期字段.我想将这些数据放入我的数据库,但是,日期以日期戳的形式表示,所以我不知道如何使用LocalDateTime解析它.以下是我所拥有的日期戳的示例:
-631065600
885254400
48124800
-1007596800
Run Code Online (Sandbox Code Playgroud)
我尝试做这样的事情:
val formatter = DateTimeFormatter.ofPattern("n")
val users = List(
models.User(1, "sosodachenheonne@list.me", "?????", "?????????", "m", LocalDateTime.parse("885254400", formatter)),
models.User(2, "vyhihhimrusedac@list.me", "?????", "?????????", "m", LocalDateTime.parse("48124800", formatter)),
models.User(3, "istoordadanaihdut@gmail.com", "????????", "?????????", "m", LocalDateTime.parse("-1007596800", formatter))
)
Run Code Online (Sandbox Code Playgroud)
但我有一个例外:
java.time.DateTimeException: Unable to obtain LocalDate from TemporalAccessor: {NanoOfSecond=885254400},ISO of type java.time.format.Parsed
Run Code Online (Sandbox Code Playgroud) 我需要检查当前时间是否在两个datetime列值之间。
而且我只需要检查时间在范围之间,就不需要检查日期。
我知道如何检查日期范围是否存在如下所示的日期
SELECT
*
FROM
Table1 T
WHERE
CAST(GETDATE() AS DATE) BETWEEN T.StartDate AND T.EndDate
Run Code Online (Sandbox Code Playgroud)
我们将开始日期和结束日期存储为以下信息。
StartDate - 1900-01-01 08:00:00.000
EndDate - 1900-01-01 19:00:00.000
Run Code Online (Sandbox Code Playgroud)
是否有类似的东西来检查时间是否在日期范围内?
我试图在查询中将5天添加到MYSQL中的日期。这是我所做的:
SELECT * FROM sales INNER JOIN partner on user_id = idpartner WHERE DATE((end_date) + 5) >= DATE(NOW()) ORDER BY end_date ASC LIMIT 0,50000
但是,这并未显示已结束的销售清单。有人可以告诉我我在哪里犯错。
我在Python 3.6中解析日期时间字符串时遇到了一些麻烦.关键代码是:
datetime.datetime.strptime("Jan 08, 2018 07:04 PM UTC", '%b %d, %Y %I:%M %p %Z')
Run Code Online (Sandbox Code Playgroud)
和堆栈跟踪:
File "marquito.py", line 180, in start
test_date = "" if test_date == "" else datetime.datetime.strptime(test_date + " UTC", "%b %d, %Y %I:%M %p %Z")
File "/usr/lib/python3.6/_strptime.py", line 565, in _strptime_datetime
tt, fraction = _strptime(data_string, format)
File "/usr/lib/python3.6/_strptime.py", line 362, in _strptime
(data_string, format))
ValueError: time data 'Jan 08, 2018 07:04 PM UTC' does not match format '%b %d, %Y %I:%M %p %Z'
Run Code Online (Sandbox Code Playgroud)
你看到代码有什么问题吗?
以下代码返回一个空字符串:
LocalDateTime.parse("2018-01-01T00:00:00.00")
.format(new DateTimeFormatterBuilder().toFormatter())
Run Code Online (Sandbox Code Playgroud)
我期望一个例外或以某种默认方式格式化的日期.
我是否在Java中发现了一个错误,或者这是否符合规范?我在Javadoc中找不到有关此行为的任何信息.