当前位置: 首页 > 知识库问答 >
问题:

火花。将所有观测的UTC转换为本地时间,多个时区

郑锋
2023-03-14
mydates<- c("2012-12-22 14:23:05", "2015-01-19 16:37:42", "2017-03-02 08:22:55")
mytimeZones<- c("America/Chicago", "America/New_York", "Pacific/Galapagos")
dfr<- data.frame(date=mydates, timezone=mytimeZones)

dfs<- SparkR::createDataFrame(dfr)
dftest<- withColumn(dfs, "LocalTime", 
  SparkR:::foreach(dfs, function(x){from_utc_timestamp(y=x$date, x=x$timezone)})
)

但没有成功。我希望有人能在SparkR解决这个问题,并能帮助我。谢谢你抽出时间。亲切的问候,内特

共有1个答案

曾洲
2023-03-14

您可以使用selectexpr:

selectExpr(dfs, "*", "from_utc_timestamp(date, timezone) AS LocalTime")

expr:

withColumn(dfs, "LocalTime", expr("from_utc_timestamp(date, timezone)"))

在一个更简单的情况下,timezone是一个常量字符串,直接调用from_utc_timestamp就可以实现:

withColumn(dfs, "LocalTime", 
  from_utc_timestamp(column("date"), "America/New_York")
 类似资料:
  • 问题内容: 我有一个UTC时区,例如: 还有一个pytz时区对象: 转换为给定时区的正确方法是什么? 问题答案: 我想我明白了: 这行代码首先将朴素的(不了解时区的) 对象转换为包含时区(UTC)的对象。然后,它使用该功能根据请求的时区调整时间。

  • 问题内容: 我知道这个主题已被殴打致死,但在搜寻了这个问题几个小时之后,我不得不问。 我的问题:根据客户端应用程序(iphone)的当前时区对服务器上的日期进行计算。客户端应用程序以秒为单位告诉服务器,其时区距GMT的距离。然后,我想使用此信息对服务器中的日期进行计算。服务器上的日期都存储为UTC时间。 因此,在将UTC日期对象转换为该本地时区之后,我想获取其HOUR。 我目前的尝试: 变量小时和

  • 问题内容: 在我的项目中,我获得了json格式的API响应。我得到这样的UTC时间格式的时间字符串值。 我需要将其更改为本地时间。那就是我们使用此应用程序需要显示当地时间的地方。我该怎么做? 这是我尝试过的一些代码: 假设aDate包含 问题答案: 这是我的尝试: 还要注意上午/下午标记的“ a” …

  • 问题内容: 如何将UTC时间转换为 当地时间 ? 我已经为我需要当地时间的所有国家/地区创建了具有UTC时差的地图。然后,我将该差异作为持续时间添加到当前时间(UTC),并打印结果希望是该特定国家/地区的当地时间。 由于某些原因,结果是错误的。例如,在匈牙利,相差一小时。知道为什么我得到的结果不正确吗? 问题答案: 请记住,操场的时间设置为,因此它正在工作。 正确的方法是使用,这是一个示例:

  • 问题内容: 我知道已经有很多关于将UTC时间/日期转换为本地时间/从本地时间转换为答案的帖子,但是没有帮助我弄清楚我的问题是什么。我的问题是:通过具有UTC时间戳,我如何获取本地DateTime?这就是我现在所拥有的,但这只是将时间戳转换为DateTime格式。 编辑:我将UTC时间戳保存在云中,以便每个设备(Android / iOS)都可以查询并将其转换为时区。 问题答案: 试试这个与我一起工

  • 我想使用moment.js将本地时间转换为等价的UTC。我相信我已经有了正确的方法,但它不会改变时间。 我在悉尼,澳大利亚+11,预计协调世界时将早11个小时。 在moment对象内部,isUTC标志从false变为true,但时间没有改变,我是不是打算为此使用一种不同的技术。 转换后