首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C#中将字符串(T,T-1,T1)转换为DateTime

在C#中将字符串(T,T-1,T1)转换为DateTime
EN

Stack Overflow用户
提问于 2013-12-09 15:45:23
回答 1查看 145关注 0票数 0

我有一个控件,它为我提供字符串格式(T或T-1,T+1等)的日期选择,并将T视为今天的日期。我想将字符串selected Date(T或T-1,T+1)转换为DateTime。

请注意,T(今天),T-1(昨天),T+1(明天)是从控件接收的,并且是字符串格式,一次一个日期。T、T-1或T+1等。我需要将T转换为类似于09/12/2013的格式(例如,使用DD/MM/YYYY格式) T-1转换为08/12/2013,将T+1转换为10/12/2013。

你能建议一些标准的/好的方法来实现这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2013-12-09 15:57:57

您可以使用正则表达式来验证输入并提取操作符(+/-)和天数:

代码语言:javascript
复制
var input = "T - 51";

// input ca be "[whitespace]T[whitespace][+-][whitespace][number][whitespace]
// (whitespace is optional at every position)
var re = new Regex(@"\s*[T]\s*(?<op>[+-])\s*(?<days>\d+)\s*");

// check if input is valid
var match = re.Match(input);
if (match.Success)
{
    // extract operator and number of days
    var op = match.Groups["op"].Value;
    var days = int.Parse(match.Groups["days"].Value);

    // calculate resulting date
    var date = DateTime.Now.AddDays(op == "+" ? days : -days);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20465558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档