Tag: datetime format

使用API​​Controller补充序列化

我们有多个API控制器接受GET请求,如下所示: //FooController public IHttpActionResult Get([FromUri]Foo f); //BarController public IHttpActionResult Get([FromUri]Bar b); 现在 – 我们希望(或者,被迫) 全局更改GET查询字符串中的DateTime字符串格式 “yyyy-MM-ddTHH:mm:ss” -> “yyyy-MM-ddTHH.mm.ss” 更改后,包含DateTime类型的类的所有[FromUri]序列化都将失败。 有没有办法补充[FromUri]序列化以接受查询字符串中的DateTime格式? 或者我们是否必须为所有API参数构建自定义序列化以支持新的DateTime字符串格式? 编辑 :请求的示例 public class Foo { public DateTime time {get; set;} } //FooController. Let’s say route is api/foo public IHttpActionResult Get([FromUri]Foo f); GET api/foo?time=2017-01-01T12.00.00

将当前时间添加到DateTime?

我有一个表示日期的字符串,它从DropDownList返回。 例如,字符串是“27.08.2010” 。 现在我想将当前时间添加到此并将其解析为Datetime …所以最后它应该是一个DateTime,例如27.08.2010 15:12:45 。 我怎么能这样做? 现在,我正在使用DateTime.Now.Hour等将一个字符串组合在一起并制作一个DateTime,但这似乎是错误的方式。 谢谢 :)

如何将日期格式化为本地化的Short MonthDay字符串

我想将DateTime格式化为一个字符串,其中包含缩写的月份名称和图表中轴标签的使用日期。 默认的DateTime格式字符串不包含缩写月份。 我想没有标准,但我可以获取月份名称的前3个字符的子字符串,并将其替换为MonthDay格式。 我使用MonthDay的原因是月份和日期的顺序取决于语言环境。 有没有人有更好的主意? http://msdn.microsoft.com/en-us/library/az4se3k1.aspx#MonthDay

使用DateTime.ToString(“tt”)时,Windows 10中的时间输出(AM / PM)发生了变化

我最近升级到Windows 10 – 我现在看到使用“tt”格式说明符时日期输出中出现了一些意外的变化。 以下是一些演示此问题的代码: using System.IO; using System; using System.Globalization; using System.Threading.Tasks; class Program { static void Main() { var cultures = new string[] {null, “en-NZ”, “en-US”, “en-AU”, “en-GB”}; foreach (var culture in cultures) { if (culture != null) { var c = CultureInfo.GetCultureInfo(culture); System.Threading.Thread.CurrentThread.CurrentCulture = System.Threading.Thread.CurrentThread.CurrentUICulture = c; } DateTime dt = new […]

更改系统日期时间格式c#

我需要以编程方式永久地更改/更新/设置我的系统(windows7)默认日期时间格式,直到我通过代码或通过Windows GUI更改它 我已尝试过很多来自Code Project的解决方案 Console.Write(DateTime.Now + “”); RegistryKey rkey = Registry.CurrentUser.OpenSubKey(@” Control Panel\International”, true); rkey.SetValue(“sShortDate”, “dd/MM/yyyy”); rkey.SetValue(“sLongDate”, “dd/MM/yyyy”); Console.Write(DateTime.Now + “”); 最接近且得名的答案是来自Set Default DateTime Format c# ,我试过这个解决方案,但它没有帮助我。 因为它不会更改我的系统日期时间格式(显示在任务栏中)。 在我重新启动具有此代码的应用程序后,在执行此代码之前,我再次获取旧格式。 using System; using System.Globalization; using System.Threading; namespace test { public static class Program { public static void Main() { Console.Write(DateTime.Now + “”);// MessageBox.Show(DateTime.Now + “”); CultureInfo […]

ObjectDataSource无法将字符串解析为DateTime

我有一个带有值的文本框,用于存储ValidFrom表单值: 31.01.2012 和文化设置为: 在web.config中。 而现在,ObjectDataSource更新方法: public static void UpdateLac(int id, DateTime ValidFrom) { /// … } 失败,因为我得到exception,无法解析字符串。 但格式为dd.mm.yyyy ( 31.01.2012 )的日期是有效的en-GB格式,可以解析(据我所知)。 我用以下代码测试了它: DateTimeFormatInfo dtfi = CultureInfo.CreateSpecificCulture(“en-GB”).DateTimeFormat; var date = DateTime.Parse(“31.01.2012”, dtfi); Console.Write(date.ToLongDateString()); 那么为什么ObjectDataSource内部转换无法在此示例中将字符串 (31.01.2012)转换为DateTime ?

查找下一个最近的日期

我有一些日期当前存储为字符串列表。 例如: List dates = new List(); dates.Add(“1/10/14”); dates.Add(“2/9/14”); dates.Add(“1/15/14”); dates.Add(“2/3/14”); dates.Add(“2/15/14″); (日期格式为mm/dd/yy ) 我将采用用户的输入(也以mm/dd/yy格式),但作为字符串。 现在,我想在数组中找到用户输入日期后最接近的日期。 例如,如果用户输入”1/13/14″ ,则输出应为”1/15/14″ 。 如果用户输入”2/5/14″ ,则下一个最近的日期是”2/9/14″ 。 但是如果用户输入的日期晚于最后一个日期(例如”3/1/14″ ,它将仍然返回数组中的最后一个日期,即”2/15/14” ) 我知道在某些时候你必须转换为类型DateTime,但我无法弄清楚找到这样的日期的逻辑。

如何解析日期格式?

在我的应用程序正在使用的其中一个Web服务中,我遇到了以下DateTime格式。 “/Date(1395780377459)/” 这是一些标准的日期格式吗? 如果是这样,如何将其解析为DateTime对象? 编辑: 感谢您的评论。 所以”/Date(1395780377459)/”对应格林尼治标准时间:星期二,2014年3月25日20:46:17 GMT。 我想知道如何在.net中解析它。 尝试: string test = “/Date(1395780377459)/”; var datestring = test.Substring(6).TrimEnd(‘)’,’/’); var date = new DateTime(long.Parse(datestring)); 试过这个: string test = “/Date(1395780377459)/”; var datestring = test.Substring(6).TrimEnd(‘)’,’/’); var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); var result = epoch.AddSeconds(long.Parse(datestring)); 它不起作用。 什么是错的?

在.NET中发出字符串格式为“M”的DateTime.ToString

我有DateTime的字符串格式的问题。 我认为这是MS中的错误。 你能解释一下,有什么不对吗? class Program { static void Main(string[] args) { Console.WriteLine(DateTime.Now.ToString(“M”));//return 07 July <—- WRONG, SEE MSDN Console.WriteLine(DateTime.Now.ToString(".M"));//return .7 <—- GOOD Console.ReadKey(); } } MSDN

删除小时:秒:DateTime对象中的毫秒数

我正在尝试从DateTime对象创建一个字符串,产生格式mm:dd:yyyy 。 通常, DateTime对象为mm:dd:yyyy hrs:min:sec AM/PM 。 有没有办法快速删除hrs:min:sec AM/PM DateTime的hrs:min:sec AM/PM部分,这样当我将其转换为ToString()它只会导致mm:dd:yyyy ?