小编ren*_*nsa的帖子

Moment.js在本地格式化,直到我指定格式

我需要将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,即使我指定了本地.

在这种特殊情况下,我可以使用字符串操作来为日期时间选择器删除结束,但是我肯定会达到我想以任意格式输出本地时间的点.我在这里错过了什么吗?

javascript jquery momentjs

6
推荐指数
1
解决办法
447
查看次数

lubridate的向量化时区转换

我有一个带有日期时间字符串列的数据框:

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不支持任何形式的矢量化是否公平?

datetime r date lubridate tidyverse

5
推荐指数
1
解决办法
311
查看次数

沿离散比例调整几何位置

我试图将文本注释放置在具有小平面和离散轴的图上。我可以使用 将注释的位置与点联系起来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)

r ggplot2

3
推荐指数
1
解决办法
2797
查看次数

指定 ggplot2 标签选项而不传递标签值

我有一个多面点图,这些多面基于多个因素:

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 似乎很乐意自己解决这个问题。

r facet ggplot2

3
推荐指数
1
解决办法
556
查看次数

使用ffmpeg和文件列表将图像序列转换为视频

我有一台照相机,每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--execoption ffmpeg进行批量转换,但是我不确定这是否适用于图像序列输入(与将1000张图像转换为1000张单帧视频相对)。

关于如何将两者连接的任何想法(或者失败了,这是将多个子目录中的日期范围内的文件ffmpeg作为图像序列获取的更好方法)?

bash ffmpeg

1
推荐指数
2
解决办法
6017
查看次数

标签 统计

r ×3

ggplot2 ×2

bash ×1

date ×1

datetime ×1

facet ×1

ffmpeg ×1

javascript ×1

jquery ×1

lubridate ×1

momentjs ×1

tidyverse ×1