小编Jim*_*mmy的帖子

为什么DateTime.ParseExact()不能使用"M/d/yyyy"解析"9/1/2009"

我有一个看起来像这样的字符串:"9/1/2009".我想将其转换为DateTime对象(使用C#).

这有效:

DateTime.Parse("9/1/2009", new CultureInfo("en-US"));
Run Code Online (Sandbox Code Playgroud)

但我不明白为什么这不起作用:

DateTime.ParseExact("9/1/2009", "M/d/yyyy", null);
Run Code Online (Sandbox Code Playgroud)

日期中没有单词(如"九月"),我知道具体的格式,所以我宁愿使用ParseExact(我不明白为什么需要CultureInfo).但我继续得到可怕的"字符串未被识别为有效的DateTime"异常.

谢谢

一点点跟进.以下是3种有效的方法:

DateTime.ParseExact("9/1/2009", "M'/'d'/'yyyy", null);
DateTime.ParseExact("9/1/2009", "M/d/yyyy", CultureInfo.InvariantCulture);
DateTime.Parse("9/1/2009", new CultureInfo("en-US"));
Run Code Online (Sandbox Code Playgroud)

这里有3个不起作用:

DateTime.ParseExact("9/1/2009", "M/d/yyyy", CultureInfo.CurrentCulture);
DateTime.ParseExact("9/1/2009", "M/d/yyyy", new CultureInfo("en-US"));
DateTime.ParseExact("9/1/2009", "M/d/yyyy", null);
Run Code Online (Sandbox Code Playgroud)

所以,Parse()适用于"en-US",但不适用于ParseExact ...意外?

.net datetime parsing cultureinfo

56
推荐指数
1
解决办法
11万
查看次数

SQL:选择列值从上一行更改的行

假设我有这个(MySQL)数据库,按增加的时间戳排序:

Timestamp   System StatusA StatusB 
2011-01-01     A      Ok     Ok      
2011-01-02     B      Ok     Ok     
2011-01-03     A     Fail   Fail     
2011-01-04     B      Ok    Fail     
2011-01-05     A     Fail    Ok      
2011-01-06     A      Ok     Ok      
2011-01-07     B     Fail   Fail    
Run Code Online (Sandbox Code Playgroud)

如何选择StatusA从该系统的上一行更改的行?StatusB无关紧要(我在这个问题中只是为了说明StatusA不会改变的每个系统可能有很多连续的行).在上面的示例中,查询应返回2011-01-03行(StatusA在2011-01-01和2011-01-03之间为SystemA更改),2011-01-06,2011-01-07.

查询应该快速执行,表中有数万条记录.

谢谢

mysql sql

33
推荐指数
3
解决办法
6万
查看次数

为什么DateTime.ParseExact()不能在"4/4/2010 4:20:00 PM"使用"M'/'d'/'yyyy H'解析AM/PM:'mm':'ss'' TT"

我正在使用c#,如果我这样做的话

DateTime.ParseExact("4/4/2010 4:20:00 PM", "M'/'d'/'yyyy H':'mm':'ss' 'tt", null)
Run Code Online (Sandbox Code Playgroud)

返回值总是凌晨4:20 - 使用tt我做错了什么?

谢谢!

c# datetime parsing

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

如何确定FastCGI是否用于运行php脚本

我有一个托管网站,我在配置Joomla时遇到了麻烦(在IIS7 + win server 2008上运行Joomla + php + mySQL).我有一个类似的配置在本地机器上运行(Joomla + php + mySQL在IIS7 + vista x64上),所以我至少能够按照各种教程中显示的说明如何设置它.

托管网站的这种症状是我无法在Joomla中打开任何SEO设置(甚至不是第一个设置,"搜索引擎友好URL").我得到404(文件未找到)或URL显示正确重写但它始终显示主页的内容.我的家用机器上有类似的问题,原来是因为我没有使用FastCGI来托管php,所以我决定在托管网站上进行调查.

无论如何,我注意到托管站点上托管joomla的目录的web.config文件中有以下行:

<add name="Plesk_Handler_3522909676" path="*.php" verb="*" modules="IsapiModule" scriptProcessor="c:\program files (x86)\parallels\plesk\additional\pleskphp5\php5isapi.dll" resourceType="Either" />
Run Code Online (Sandbox Code Playgroud)

从过去的经验来看,我知道php在没有在fastCGI下运行时会遇到一些问题.我注意到根文件夹中的web.config使用了以下行:

<add name="Plesk_Handler_0286090609" path="*.php" verb="*" modules="CgiModule" scriptProcessor="c:\program files (x86)\parallels\plesk\additional\pleskphp5\php-cgi.exe" resourceType="Either" /> 
Run Code Online (Sandbox Code Playgroud)

我在joomla目录中的web.config中复制了它,并得到了不同的行为......但仍然无法正常工作.如果我在运行phpInfo()的joomla目录中加载.php文件,则在Server API下它会显示CGI/FastCGI.那是肯定的确认正在使用FastCGI的?为什么web配置中的处理程序指向modules ="CgiModule"而不是modules ="FastCgiModule"(我甚至不确定是否存在,但我只是发现提到CgiModule可疑).

这是一个托管网站,据我所知,我无法访问ApplicationHost.config文件...

php iis iis-7 fastcgi

16
推荐指数
3
解决办法
4万
查看次数

正则表达式:以不同顺序匹配组而不重复组

假设我有两个这样的字符串:

XABY
XBAY
Run Code Online (Sandbox Code Playgroud)

一个匹配两者的简单正则表达式将如下所示:

X(AB|BA)Y
Run Code Online (Sandbox Code Playgroud)

但是,我有一个案例,其中A和B是复杂的字符串,我正在寻找一种方法来避免必须指定它们两次(在|的每一侧).有没有办法做到这一点(可能比指定它们两次更简单)?

谢谢

regex

14
推荐指数
2
解决办法
2万
查看次数

在IIS7上部署WCF教程应用程序:"无法找到类型"

我一直在尝试按照本教程将WCF示例部署到IIS.我无法让它发挥作用.这是一个托管站点,但我确实有IIS管理员访问服务器.但是,在本教程的第2步中,我无法"创建一个物理上位于此应用程序目录中的新IIS应用程序".我似乎无法找到菜单项,上下文菜单项或什么不创建新的应用程序.我一直在疯狂地点击所有地方,仍然无法弄清楚如何创建一个新的应用程序.我想这可能是根本问题,但我尝试了其他一些事情(如下所述)以防万一实际上不是问题.这是我在IIS管理器中看到的图片,以防我的话不公正:

没有添加应用程序在这里http://www.freeimagehosting.net/uploads/d6edbaaf3c.png

这是在http://test.com.cws1.my-hosting-panel.com/IISHostedCalcService/Service.svc上 "部署"的.错误说:

    The type 'Microsoft.ServiceModel.Samples.CalculatorService', 
provided as the Service attribute value in the ServiceHost directive, 
or provided in the configuration element
 system.serviceModel/serviceHostingEnvironment/serviceActivations 
could not be found.
Run Code Online (Sandbox Code Playgroud)

我还尝试在dotnetpanel中创建一个指向IISHostedCalcService的虚拟目录(IISHostedCalc).当我导航到http://test.com.cws1.my-hosting-panel.com/IISHostedCalc/Service.svc时,会出现另一个错误:

This collection already contains an address with scheme http.  
There can be at most one address per scheme in this collection.
Run Code Online (Sandbox Code Playgroud)

有趣的是,如果我点击查看应用程序,似乎虚拟目录是一个应用程序(见下图)...虽然,根据上面的错误消息,它不起作用.

这是一个应用程序?http://www.freeimagehosting.net/uploads/f3230be046.png

根据教程,没有涉及编译; 我刚刚将文件放在服务器上,如下面的文件夹IISHostedCalcService:

service.svc
Web.config
<dir: App_Code>
   Service.cs
Run Code Online (Sandbox Code Playgroud)

service.svc包含:

<%@ServiceHost language=c# Debug="true" Service="Microsoft.ServiceModel.Samples.CalculatorService"%>
Run Code Online (Sandbox Code Playgroud)

(我尝试使用c#属性的引号,因为这看起来有点奇怪没有引号,但它没有区别)

Web.config包含:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="Microsoft.ServiceModel.Samples.CalculatorService"> …
Run Code Online (Sandbox Code Playgroud)

wcf iis-7 iis-manager

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

Application.ThreadException:如果没有分离内存泄漏?

Application.ThreadException 的参考页面

因为这是一个静态事件,所以在处理应用程序时必须分离事件处理程序,否则会导致内存泄漏.

尽管该页面上的示例代码没有分离事件处理程序,但如果事件处理程序未分离,它是否真的会泄漏?

似乎应该分离处理程序的唯一时间是应用程序关闭.在这种情况下,无论处理程序是否已分离,应用程序使用的所有内存都将被释放?

.net memory-leaks

8
推荐指数
1
解决办法
620
查看次数

为什么抽象类需要从它们实现的接口定义抽象方法?

当抽象类实现接口时,还需要定义或声明方法(如前所述):

public interface MyInterface
{
  void Method();
}

public abstract class MyAbstractClass : MyInterface
{
  public abstract void Method(); // required, even though MyAbstractClass does not implement
}

public class MyClass : MyAbstractClass
{
  public override void Method()
  {
  }
}

public interface MyInterface2 : MyInterface
{
  // no need to declare Method() -- why can't abstract classes do the same for unimplemented methods?
}
Run Code Online (Sandbox Code Playgroud)

c#语言的设计原理是什么要求定义实现接口的抽象类的抽象方法?对于一个抽象类来说,定义一个它没有实现的方法似乎是完全多余的(并且更糟糕的是,对于实际实现该方法必须将该方法标记为覆盖的类).我没有理由认为抽象类的行为不像MyInterface2,它继承自MyInterface但不需要声明MyInterface的方法.

c# interface abstract

8
推荐指数
2
解决办法
2473
查看次数

Visual Studio 2013报告错误的"不包含"最近扩展方法的错误定义

Visual Studio 2013(vs)在手动构建时编译解决方案(即,它报告"构建成功",错误列表中没有错误,并且运行程序显示最新更改).但是,当vs开始在后台构建时(对于Intellisense?),最近添加的扩展方法会出现错误.扩展方法以红色下划线,右键单击它们以"转到定义"会导致出现"无法导航到[方法名称]"的错误.

在此错误消息之前创建的扩展方法(在与错误错误消息中列出的方法相同的类中)不会显示在错误消息中.

我做了一个清洁,无济于事.

没有安装resharper.

如何在Visual Studio 2013中重置intelisense缓存?我看到了Visual Studio 2008的说明,但没有看到Visual Studio 2013的说明.

c# intellisense extension-methods visual-studio-2013

8
推荐指数
2
解决办法
4877
查看次数

php/mysql/javascript mindate和maxdate

.net,有一些静态属性DateTime.MinDate, and DateTime.MaxDate可以方便地返回DateTime对象的最小和最大有效日期.

我现在正在使用网络编程php + mysql + javascript.min/max date在编程环境中似乎没有相同的方便值?例如,mysql中日期对象的最大值是9999-12-31,但php函数strtotime()不喜欢该值.

我想要一个跨语言的最小日期(例如用于表示'尚未设置')和跨语言的最大日期(用于表示'永远的好').这意味着可能存在数据库中存储的最小日期和最大日期,php将检索(并且它必须区分"正常"日期和最小/最大日期),并且最终它们会流入一些javascript(其中,再次必须区分'正常'日期和最小/最大日期).

那么,在php + mysql + javascript中工作时,你使用哪个日期值为最小/最大日期?你如何存储这些常量 - 最好只在一个地方定义它们并让它们在每个php + mysql + javascript中都可用...

谢谢

javascript php mysql date

7
推荐指数
2
解决办法
7721
查看次数