我需要将datetime-local
选择器的默认值设置为当前本地时间.原生JS似乎默认在本地时间输出:
new Date($.now()); // "Sat Nov 12 2016 22:36:52 GMT+1100 (AEDT)"
Run Code Online (Sandbox Code Playgroud)
然而,像toISOString()
UTC中的输出这样的功能,虽然我可以在本地提取单个组件,但我真的不想摆弄填充等等.所以我尝试使用moment.js:
moment().local().format(); // "2016-11-12T22:34:05+11:00"
Run Code Online (Sandbox Code Playgroud)
凉!现在我只需要将格式调整到一点点:
moment().local().format('YYYY-MM-DThh:mm'); // "2016-11-12T10:39"
Run Code Online (Sandbox Code Playgroud)
Waaaaaaait.现在再次使用UTC,即使我指定了本地.
在这种特殊情况下,我可以使用字符串操作来为日期时间选择器删除结束,但是我肯定会达到我想以任意格式输出本地时间的点.我在这里错过了什么吗?
我有一个带有日期时间字符串列的数据框:
library(tidyverse)
library(lubridate)
testdf = data_frame(
mytz = c('Australia/Sydney', 'Australia/Adelaide', 'Australia/Perth'),
mydt = c('2018-01-17T09:15:00', '2018-01-17T09:16:00', '2018-01-17T09:18:00'))
testdf
# A tibble: 3 x 2
# mytz mydt
# <chr> <chr>
# 1 Australia/Sydney 2018-01-17T09:15:00
# 2 Australia/Adelaide 2018-01-17T09:16:00
# 3 Australia/Perth 2018-01-17T09:18:00
Run Code Online (Sandbox Code Playgroud)
我想将这些日期时间字符串转换为具有各自时区的POSIX日期时间对象:
testdf %>% mutate(mydt_new = ymd_hms(mydt, tz = mytz))
Run Code Online (Sandbox Code Playgroud)
mutate_impl(.data,点)中的错误:评估错误:
tz
参数必须是单个字符串。另外:警告消息:如果if(tz!=“ UTC”){:条件的长度> 1,并且仅使用第一个元素
如果使用ymd_hms
不带时区的内容并将其传送到,我将得到相同的结果force_tz
。得出结论,就时区操作而言,lubridate不支持任何形式的矢量化是否公平?
我试图将文本注释放置在具有小平面和离散轴的图上。我可以使用 将注释的位置与点联系起来aes()
,但我想稍微移动它们以保持点的可读性。如果微移是在数字范围内,那就没问题:
data <- data.frame(
category = c("blue", "yellow", "red", "green"),
rating = 1:4)
gp <- ggplot(data) + geom_point(aes(x = category, y = rating)) +
geom_text(aes(label = "I have a label!", x = category, y = rating + 0.5))
Run Code Online (Sandbox Code Playgroud)
但如果我尝试以非数字比例(在本例中为字符)执行此操作,则会失败:
gp <- ggplot(data) + geom_point(aes(x = category, y = rating)) +
geom_text(aes(label = "I have a label!", x = category + 0.5, y = rating))
gp
Error in unit(x, default.units) : 'x' and 'units' must have length > …
Run Code Online (Sandbox Code Playgroud) 我有一个多面点图,这些多面基于多个因素:
p = p + facet_wrap(~ model + run, ncol = 1, scales = 'fixed')
Run Code Online (Sandbox Code Playgroud)
model
我很高兴 ggplot2 使用和的现有唯一值run
来构建构面标签,但我希望它们跨一行,而不是多行。然而,
p = p + facet_wrap(~ model + run, ncol = 1, scales = 'fixed',
labeller = label_value(multi_line = FALSE)
Run Code Online (Sandbox Code Playgroud)
导致缺少参数错误,因为首先label_value()
需要参数labels
:
Error in lapply(labels, as.character) :
argument "labels" is missing, with no default
Run Code Online (Sandbox Code Playgroud)
鉴于指定了多个分面变量,我不确定如何提供此内容。如果我完全不考虑贴标机,ggplot2 似乎很乐意自己解决这个问题。
我有一台照相机,每2到3秒钟拍摄一次延时拍摄,并保持了几天的滚动记录。因为有很多文件,所以我按天和小时将它们保存在子目录中:
images/
2015-05-02/
00/
2015-05-02-0000-02
2015-05-02-0000-05
2015-05-02-0000-07
01/
(etc.)
2015-05-03/
Run Code Online (Sandbox Code Playgroud)
我正在编写一个脚本,每天自动将日出时间间隔上传到YouTube。我可以提前从网上获取日出时间,然后在日出之后返回,并使用find
以下命令获取该时间段内获取的文件列表:
touch -d "$SUNRISE_START" sunrise-start.txt
touch -d "$SUNRISE_END" sunrise-end.txt
find images/"$TODAY" -type f -anewer sunrise-start.txt ! -anewer sunrise-end.txt
Run Code Online (Sandbox Code Playgroud)
现在,我想使用将这些文件转换为视频ffmpeg
。理想情况下,我希望不复制所有文件(因为我们正在谈论的是每小时3.5 GB的图像),并且我不希望将其重命名为类似的名称,image000n.jpg
因为其他用户可能希望访问图片。复制图像是我的后备。
但是我一直find
无法将的结果发送到ffmpeg
。我知道ffmpeg可以在内部扩展通配符,但是我不确定这是否可以在文件不在一个目录中的情况下起作用。我还看到一些人使用find
的--exec
option ffmpeg
进行批量转换,但是我不确定这是否适用于图像序列输入(与将1000张图像转换为1000张单帧视频相对)。
关于如何将两者连接的任何想法(或者失败了,这是将多个子目录中的日期范围内的文件ffmpeg
作为图像序列获取的更好方法)?