using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ExtractTime
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//--
string[] strlist = {"年","月","日" };
string strs = "日期: 2018年07月31日"; //xx年xx月xx日
strs = textBox1.Text;
var test = ff(strs);
string[] temp = test.Split(new char[] { '#'}, StringSplitOptions.RemoveEmptyEntries);
strs = strs.Replace(" ",""); //日期:2018年07月31日
var cut = "";bool Mouthbl = false;
//查询第一个年字所在位置
for (int i=0;i<strs.Length;i++)
{
cut = strs.Substring(i,1); //截取一个字符
if (cut.Contains("年")) //当前字符是年字
{
//查找月字
for (int ii = i; ii < strs.Length; ii++)
{
cut = strs.Substring(ii, 1); //截取一个字符
if (cut.Contains("月")) //当前字符是月字
{
//包含月字
Mouthbl = true;
var x = i;
var y = ii;
if (y-x<=3&& y - x > 1) //年月,a年a月,aa年aa月
{
//截取字符串
if (i>=4)
{
var year = strs.Substring(i-4,4); //截取4个
//验证该字符串是否是数字(略)
var mouth = strs.Substring(ii - 2, 2).Replace("年",""); //截取月
var day = "";
//截取日
if (strs.Length-(ii+1)>=3) //xx月xx日
{
day = strs.Substring(ii,3).Replace("月","");
}
textBox2.Text = year + mouth + day;
break;
}
}
}
}
if (Mouthbl)
{
break; //包含月
}
}
}
}
private void button2_Click(object sender, EventArgs e)
{
// Newmode.CompileDate = Convert.ToDateTime(CompileDate); //时间 字符串转时间
textBox1.Text = "";
textBox2.Text = "";
}
public string ff(string strs)
{
string result = "";
strs = strs.Replace(" ", ""); //日期:2018年07月31日
var cut = ""; bool Mouthbl = false;
//查询第一个年字所在位置
for (int i = 0; i < strs.Length; i++)
{
cut = strs.Substring(i, 1); //截取一个字符
if (cut.Contains("年")) //当前字符是年字
{
//查找月字
for (int ii = i; ii < strs.Length; ii++)
{
cut = strs.Substring(ii, 1); //截取一个字符
if (cut.Contains("月")) //当前字符是月字
{
//包含月字
Mouthbl = true;
var x = i;
var y = ii;
if (y - x <= 3 && y - x > 1) //年月,a年a月,aa年aa月
{
//截取字符串
if (i >= 4)
{
var year = strs.Substring(i - 4, 4); //截取4个
//验证该字符串是否是数字(略)
var mouth = strs.Substring(ii - 2, 2).Replace("年", ""); //截取月
if (mouth.Length == 1) //位数为1补0
{
mouth = "0" + mouth;
}
var day = "";
//截取日
if (strs.Length - (ii + 1) >= 3) //xx月xx日
{
day = strs.Substring(ii, 3).Replace("月", "");
if (day.Length==1)////位数为1补0
{
day = "0" + day;
}
}
result = year+"#" + mouth + "#" + day;
break;
}
}
}
}
if (Mouthbl)
{
break; //包含月
}
}
}
return result;
}
}
}