我想知道如何更改约会的时间。
例如,如果日期是“2015-06-06 00:00:00”形式的字符串,我想更改小时方面,使其变为“2015-06-06 07:00:00”
所以简单地说,我想解析Scala一串日期,然后改变它的小时。
答案 0 :(得分:1)
给定日期字符串模式" 2015-06-06 00:00:00",您想要更改它的小时。
您需要做的两件事:将字符串解析为日期,涉及 SimpleDateFormat ;然后修改它的小时,日历有很多方法可以修改年,月......,所以你可以尝试一下。
以下是我如何完成它。
Josh@laptop:~$ find josh
josh
josh/a
josh/b
josh/f1
josh/f2
josh/is
josh/is/awesome
josh/is/awesome/e
josh/is/awesome/t
答案 1 :(得分:1)
我们可以通过以下操作使其非常简单:
SCALA代码
import com.github.nscala_time.time.Imports._
val input_timestamp = "2019-08-05T12:50:21.884+02:00"
val updated_time=input_timestamp.toDateTime + 2.hours + 45.minutes
println(updated_time)
输出::2019-08-05T15:35:21.884 + 02:00
答案 2 :(得分:1)
如果您要调整小时(加或减),则需要将String
转换为DateTime
格式,以便获得正确的新日期和时间。
如果您只想操纵String
,那么patch()
将会做到。
"2015-06-06 00:00:00".patch(11,"07",2) //res0: String = 2015-06-06 07:00:00
答案 3 :(得分:0)
您可以使用java中的simpleDateFormat类。谷歌会帮助你。 注意,你也可以导入joda-time java jar,它在功能方面非常丰富。
答案 4 :(得分:0)
塞缪尔,
尝试添加这样的小时数。
WITH month_direction as (
SELECT
Day([SampleDateTime]) AS [Date],
Round([WD Avg 2min],0) AS WindDir,
Count(Round([WD Avg 2min],0)) AS [Count]
FROM
WeatherData
WHERE
(((Year([SampleDateTime]) * 12 + DatePart("m", [SampleDateTime])) = Year(Date()) * 12 + DatePart("m", Date()) - 0))
GROUP BY
Day([SampleDateTime]), Round([WD Avg 2min],0)
ORDER BY
Day([SampleDateTime]), Count(Round([WD Avg 2min],0)) DESC
),
max_count as (
SELECT *, row_number() OVER (PARTITION BY date ORDER BY Count desc) as rnum
FROM month_direction
)
SELECT *
FROM max_count
WHERE rnum = 1
此链接有很好的描述。