我有以下 df 随时间变化的各种切片的值:
date A B C
0 2016-01-01 5 7 2
1 2016-01-02 6 12 15
...
2 2016-01-08 9 5 16
...
3 2016-12-24 5 11 13
4 2016-12-31 3 52 22
Run Code Online (Sandbox Code Playgroud)
我想创建一个新的数据框,按日期计算每个切片中的 ww 变化。例如,我希望新表对于从 1 月 1 日到 1 月 7 日的所有切片都为空。我希望 jan 8 的值是给定切片的 jan 8 值减去该切片的 jan 1 值的值。然后我希望 jan 9 的值是给定切片的 jan 9 值减去 jan 2 切片的值。如此等等,一路向下。
示例表如下所示:
date A B C
0 2016-01-01 0 0 0
1 2016-01-02 0 0 0
...
2 …Run Code Online (Sandbox Code Playgroud) 我有一个实例,考虑到夏令时规则DateTimeOffset,我需要在特定的TimeZone(西欧标准时间)中添加 1 天(因此它可能会导致Offset更改)。如果没有 3rd 方库,我该怎么做?
可验证示例:
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace UnitTestProject
{
[TestClass]
public class TimeZoneTests
{
[TestMethod]
public void DateTimeOffsetAddDays_DaylightSaving_OffsetChange()
{
var timeZoneId = "W. Europe Standard Time";
var utcTimestamp = new DateTimeOffset(2017, 10, 28, 22, 0, 0, TimeZoneInfo.Utc.BaseUtcOffset);
var weuropeStandardTimeTimestamp = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(utcTimestamp, timeZoneId);
Assert.AreEqual(new DateTime(2017, 10, 29), weuropeStandardTimeTimestamp.DateTime);
Assert.AreEqual(TimeSpan.FromHours(2), weuropeStandardTimeTimestamp.Offset);
var weuropeStandardTimeTimestampNextDay = AddDaysInTimeZone(weuropeStandardTimeTimestamp, 1, timeZoneId);
Assert.AreEqual(new DateTime(2017, 10, 30), weuropeStandardTimeTimestampNextDay);
Assert.AreEqual(TimeSpan.FromHours(1), weuropeStandardTimeTimestamp.Offset);
}
private DateTimeOffset AddDaysInTimeZone(DateTimeOffset timestamp, int days, string …Run Code Online (Sandbox Code Playgroud) 我有 offsetdatetime 字段,我想转换为日期字段。我用了
val submissionDate:OffSetDateTime = OffsetDateTime.ofInstant(Instant.now(), ZoneOffset.UTC)
val date = Date.from(submissionDate.toInstant())
Run Code Online (Sandbox Code Playgroud)
此转换返回没有时间详细信息的日期。我是否必须手动将时间设置到date字段中,例如 hh:mm::ss 或那里的任何其他内置函数。
我有一个 datetimeoffset 3/18/2019 11:46:10 AM -04:00 我需要将其转换为 3/18/2019 11:46:10 AM 我不需要应用偏移量。由于缺乏更好的词语,我只需删除最后 7 个字符即可。
I have a ZonedDateTime which I have created using a DateTimeOffset and a timezone id (string), and I also have a DateTimeZone.
The particular case I have is that I need to change the Zone of the ZonedDateTime without actually converting the time (i.e. i have 18:00 UTC-4:00, i want to change this to 18:00 UTC-8 without converting the 18:00 accordingly)
The only pertinent function I'm finding is .WithZone(DateTimeZone) but this seems to convert my time based on the …
我从 Web 服务获取 json Web 令牌,解码后返回如下内容:
\n{\n "exp": 1572468916,\n "iat": 1572468316,\n "iss": "https://ccc/auth/realms/yyy",\n "aud": "xxx-api",\n [...]\nRun Code Online (Sandbox Code Playgroud)\n根据第 2 节终端学, NumericDate 数据类型对应于“自纪元以来的秒数”
\n所以我将它转换为 JavaScript 日期,如下所示:
\nnew Date(1572468316 * 1000)\nDate Wed Oct 30 2019 17:45:16 GMT-0300 (Argentina Standard Time)\nRun Code Online (Sandbox Code Playgroud)\n问题是我当前的时间是:
\nnew Date()\nDate Wed Oct 30 2019 14:45:19 GMT-0300 (Argentina Standard Time)\nRun Code Online (Sandbox Code Playgroud)\n实际上,当前时间是返回的时间new Date()(即 14:45,不是 17:45)
我猜这与 GMT 有关,但我不知道如何处理它。
\n我想将 iat 属性(显然还有 exp 属性)转换为当前时间,以便将其进行比较以new Date()查明令牌是否已过期。
那么如何将 NumericDate 从 …
我将日期作为字符串输入,格式为MM/dd/yy.
我正在尝试将其转换为DateTimeOffset以下方式:
string dateString = "02/11/48";
DateTimeOffset.TryParseExact(
dateString,
"MM/dd/yy",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out DateTimeOffset date);
Run Code Online (Sandbox Code Playgroud)
然而,当这个字符串被转换为 时DateTimeOffset,年份被设置为 1948。由于业务逻辑,我知道那里的日期总是有最近的未来年份,所以年份应该是 2048。
有没有办法将字符串转换为DateTimeOffset这种方式,或者在解析后我是否必须在其上添加额外的逻辑?
有没有办法将DateTimeOffset午夜转换成分钟?
我希望偏移部分能够反映在它给出的答案中.
我有输入日期时间字符串,如下所示:2015-01-28 17:55:43.问题是它们处于UTC + 8(或其他一些转变).无论软件运行的时区如何,我都需要将这些字符串解析并正确处理为UTC.我的问题是DateTime.Parse返回本地时间,而不是UTC时间,并且在解析字符串时我没有看到指定shift的方法.我目前的解决方案看起来像这样:
add.LastUpdatedTime = new DateTime((DateTime.Parse(text) - new TimeSpan(0, 8, 0, 0)).Ticks,DateTimeKind.Utc);
这很丑陋,我不确定它在任何情况下都能很好地运作.
有没有更好的方法呢?
我有DateTimeOffset输入参数.需要创建其他DateTimeOffset参数,其中月份比输入少2个月:
//DateTimeOffset input;
DateTimeOffset modified = new DateTimeOffset(input.Year,
input.Month - 2, input.Day,
input.Hour, input.Minute,
input.Second, input.Millisecond,
input.Offset);
I get an exception
Run Code Online (Sandbox Code Playgroud)
年,月和日参数描述不可表示的DateTime.
怎么了? - 月份是4. S0 4-2 = 2有效谢谢
我正在尽力找出如何将datetimeoffset字符串持久保存到服务器,以使其正确绑定到DateTimeOffset属性。
我试过使用这样的东西:
moment.utc().format() + ' +' + new Date().getTimezoneOffset() / 60 + ':00';
Run Code Online (Sandbox Code Playgroud)
这显示为6/12/2017 22:27 +4:00,我将其作为字符串发送到服务器,但每次都似乎无法解析为DateTimeOffset对象。
目前,我正在为我的Web api框架使用Nancy,但我也想知道Web API也是如此。
目前,我只是发送回偏移量并设置DateTimeOffset属性,如下所示:
dto.CommentDate = new DateTimeOffset(DateTime.UtcNow).ToOffset(new TimeSpan(dto.Offset, 0, 0));
有一个更好的方法吗?我可以发送整个日期而不是仅发送偏移量吗?
我有要求
为了达到这个目的,我编写了以下代码片段,但是没有产生所需的结果.它存储的价值为10/11/2017 4:05,然而,当呈现给美国,即获得价值/刷新页面时,它又 增加了5个小时.删除了异常和其他不必要的代码,使其变得简单:
public class DatetoString implements Serializable
{
private final DateFormat dateFormatter = createDateFormatter();
// Sets Date to model
public void setTypedValue(final Object val)
{
final String dateValue;
String dateTimeFormat = BooleanUtils.isFalse(getUSDateFormatConfig()) ? "dd/MM/yyyy HH:mm" : "MM/dd/yyyy HH:mm";
DateFormat df = new SimpleDateFormat(dateTimeFormat);
df.setTimeZone(TimeZone.getTimeZone("GMT"));
Date singleDate = (Date) df.parse(val.toString());
dateValue = dateFormatter.format(singleDate);
model.setValue(dateValue.toString());
// Other code..
}
// Retrieves date from model
public Object …Run Code Online (Sandbox Code Playgroud) 我有一个审计线索,其中列出了用户进入/退出时间的日期和时间.是否有可能甚至我改变了系统的日期和时间.它忽略了我更改的系统日期/时间,并记录用户的实际日期和时间.
这是我的代码.
dbAuditTrail.AddActionLog(userID, timeIn, DateTime.Now.ToString("MM/dd/yyyy - hh:mm:ss tt"));
Run Code Online (Sandbox Code Playgroud)