Tag: datetime

DateTime解析错误:提供的DateTime表示无效时间

我有一种情况,日期是”3/13/2016 2:41:00 AM” 。 当我按时区转换日期时,我收到错误。 DateTime dt = DateTime.Parse(“3/13/2016 2:41:00 AM”); DateTime Date_Time = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(dt, “Eastern Standard Time”, “GMT Standard Time”); Response.Write(dt); 执行后,我收到此错误: 提供的DateTime表示无效时间。 例如,当向前调整时钟时,跳过的时间段中的任何时间都是无效的。 参数名称:dateTime

DateTime.TryParse无法解析DateTime.MinValue

我正在使用一个名为Json.NET的库,它在内部使用以下代码将JSON字符串解析为DateTime: if (DateTime.TryParse(s, Culture, DateTimeStyles.RoundtripKind, out dt)) { dt = DateTimeUtils.EnsureDateTime(dt, DateTimeZoneHandling); SetToken(JsonToken.Date, dt); return dt; } 我认为Json.NET搞砸了转换,但看起来它是DateTime.TryParse本身就是拙劣的价值。 当我解析以下有效的Iso日期(对应于UTC DateTime.MinValue)时: string json = “0001-01-01T00:00:00+00:00”; DateTime dt; DateTime.TryParse(json, invariantCulture, DateTimeStyles.RoundtripKind, out dt); 结果是本地化的DateTime: {0001-01-01 8:00:00 PM} ,当转换回Utc时间时, {0001-01-02 0:00:00 PM} 。 基本上,日期下溢,这正是您期望DateTimeStyles.RoundtripKind要避免的问题。 我该如何避免这种情况?

.NET DateTime以time_t为单位

有C代码: time1=((double)dt1-25569.0)*86400.0; 它在几秒钟内从TDateTime(VCL)转换为time_t格式,所以最后我需要从.NET DateTime获取time_t格式 关于time_t: 几乎普遍期望它是表示自UTC时间1970年1月1日00:00以来经过的秒数的积分值。 这是由于历史原因,因为它对应于unix时间戳,但是在所有平台的C库中广泛实现。 所以要在.NET中获得秒数我正在做这个(F#): let seconds(dt : DateTime) = (dt.Ticks/10000000L) 或者在C#上(使用更流行的C#标签): Int64 seonds(DateTime dt) { return (dt.Ticks/ ((Int64)10000000)); } // hope it works, but please correct if I mistaken 据我所知,它是从0001 UTC 1月1日12:00:00开始的时间。 因此,要使用time_t格式,我需要在几秒钟内添加1970年。 所以最终函数必须是(F#): let seconds(dt : DateTime) = (dt.Ticks/10000000L) + 31536000*1970 C# : Int64 seonds(DateTime dt) { return (dt.Ticks/ ((Int64)10000000)) […]

2 DateTime之间的确切时间?

我想知道2个日期之间的很多分钟? 示例:现在 – 确切时间的tommorow将返回1440。

将null作为SQLParameter DateTime值传递

我有以下查询: INSERT INTO CWS_FORWARDING_PROFILE (TNR_COMPANY_PROFILE,BOL_FORWARD_MAIL,BOL_FORWARD_SMS,BOL_FORWARD_MESSAGES ,DT_MO_FROM1,DT_MO_FROM2,DT_MO_FROM3,DT_MO_TO1,DT_MO_TO2,DT_MO_TO3 ,DT_TU_FROM1,DT_TU_FROM2,DT_TU_FROM3,DT_TU_TO1,DT_TU_TO2,DT_TU_TO3 ,DT_WE_FROM1,DT_WE_FROM2,DT_WE_FROM3,DT_WE_TO1,DT_WE_TO2,DT_WE_TO3 ,DT_TH_FROM1,DT_TH_FROM2,DT_TH_FROM3,DT_TH_TO1,DT_TH_TO2,DT_TH_TO3 ,DT_FR_FROM1,DT_FR_FROM2,DT_FR_FROM3,DT_FR_TO1,DT_FR_TO2,DT_FR_TO3 ,DT_SA_FROM1,DT_SA_FROM2,DT_SA_FROM3,DT_SA_TO1,DT_SA_TO2,DT_SA_TO3 ,DT_SU_FROM1,DT_SU_FROM2,DT_SU_FROM3,DT_SU_TO1,DT_SU_TO2,DT_SU_TO3) VALUES(@tnrProfile, @forwardMail, @forwardSms, @forwardMessages, @MoFrom1, @MoFrom2, @MoFrom3, @MoTo1, @MoTo2, @MoTo3, @TuFrom1, @TuFrom2, @TuFrom3, @TuTo1, @TuTo2, @TuTo3, @WeFrom1, @WeFrom2, @WeFrom3, @WeTo1, @WeTo2, @WeTo3, @ThFrom1, @ThFrom2, @ThFrom3, @ThTo1, @ThTo2, @ThTo3, @FrFrom1, @FrFrom2, @FrFrom3, @FrTo1, @FrTo2, @FrTo3, @SaFrom1, @SaFrom2, @SaFrom3, @SaTo1, @SaTo2, @SaTo3, @SuFrom1, @SuFrom2, @SuFrom3, […]

更改文件创建日期不起作用

我正在使用以下内容更改文本文件的创建日期: using System.IO; … DateTime newCreate = new DateTime(year, month, day, hour, minutes, seconds); File.SetCreationTime(“changemydate.txt”, newCreate); 然而,这没有任何作用。 没有错误消息,但它根本不会更改文件的日期。 我在Dropbox文件夹中以及随机文件夹中尝试了此操作但没有成功 DateTime newCreate对象似乎是正确的。 如果有人能指出我的想法,那就太棒了……

将两个日期时间变量合并为一个

我有一个小问题,我似乎无法解决。 我有两个日期时间变量,一个中的重要数据是年,月和日。 另一个datetime变量存储小时,分钟和秒。 这种混乱的原因是由于我从中提取数据的数据库,它们有两个不同的列来存储实际的日期和时间。 这是代码: DateTime date = Convert.ToDateTime(dTable.Rows[i][0]); DateTime time = Convert.ToDateTime(dTable.Rows[i][1]); DateTime newDateTime = new DateTime(); newDateTime需要设置完整的日期时间,其中日期分数在日期变量中,时间分数在时间变量中。 如果有人可以帮忙,我会非常高兴:)

如何在C#中将unix纪元时间和帐户转换为夏令时?

我有一个从unix纪元时间转换为.NET DateTime值的函数: public static DateTime FromUnixEpochTime(double unixTime ) { DateTime d = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); return d.AddSeconds(unixTime); } 我在哪里(英国),时钟在夏季时间前进一小时。 在Python中,我使用time.time()获取本地Epoch时间(并且为了参数,现在时间是1286122500 ),这给了我一个1286122500的值。 如果我使用time.localtime()将其转换回人类可读时间,它会像我期望的那样转换回17:15。 如何将unix纪元时间转换回.NET DateTime值和帐户以获取当地夏令时。 我上面的函数将1286122500转换回16:15,这对我的地理位置不正确。

你会如何格式化国际格式的DateTime?

国际字符串表示格式为(YYYY-MM-DD HH:MM:SS±HHMM)。 例如2010-06-10 21:21:10 -0400 基本上我遇到的问题是弄清楚如何从GMT中获得差异。 DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123); String.Format(“{0:yyyy-MM-dd HH:mm:ss ????}”, dt);

什么是计算一年中第一周的星期一的最简单方法

我想通过一年,并得到一个代表第一周的第一个星期一的约会 所以: 如果2011年通过,我会在2011年 1月3日回来 如果在2010年通过,我会在2010年 1月4日回来