C# 处理年月日提取时间
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=;i<strs.Length;i++)
{
cut = strs.Substring(i,); //截取一个字符
if (cut.Contains("年")) //当前字符是年字
{
//查找月字
for (int ii = i; ii < strs.Length; ii++)
{
cut = strs.Substring(ii, ); //截取一个字符
if (cut.Contains("月")) //当前字符是月字
{
//包含月字
Mouthbl = true;
var x = i;
var y = ii;
if (y-x<=&& y - x > ) //年月,a年a月,aa年aa月
{
//截取字符串
if (i>=)
{
var year = strs.Substring(i-,); //截取4个
//验证该字符串是否是数字(略)
var mouth = strs.Substring(ii - , ).Replace("年",""); //截取月
var day = "";
//截取日
if (strs.Length-(ii+)>=) //xx月xx日
{
day = strs.Substring(ii,).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 = ; i < strs.Length; i++)
{
cut = strs.Substring(i, ); //截取一个字符
if (cut.Contains("年")) //当前字符是年字
{
//查找月字
for (int ii = i; ii < strs.Length; ii++)
{
cut = strs.Substring(ii, ); //截取一个字符
if (cut.Contains("月")) //当前字符是月字
{
//包含月字
Mouthbl = true;
var x = i;
var y = ii;
if (y - x <= && y - x > ) //年月,a年a月,aa年aa月
{
//截取字符串
if (i >= )
{
var year = strs.Substring(i - , ); //截取4个
//验证该字符串是否是数字(略)
var mouth = strs.Substring(ii - , ).Replace("年", ""); //截取月
if (mouth.Length == ) //位数为1补0
{
mouth = "" + mouth;
}
var day = "";
//截取日
if (strs.Length - (ii + ) >= ) //xx月xx日
{
day = strs.Substring(ii, ).Replace("月", "");
if (day.Length==)////位数为1补0
{
day = "" + day;
}
}
result = year+"#" + mouth + "#" + day;
break; }
} }
}
if (Mouthbl)
{
break; //包含月
}
}
}
return result;
}
}
}
C# 处理年月日提取时间的更多相关文章
- cmd提取时间格式(小时)问题以及Windows系统语言判断
你在这里看到了我的现在的时间是01:15,没错正在做个开发,本来好好的,结果一运行,直接报错: 这里就是时间中的获取小时出了问题,之前23点那会已经调试通过了,过那时是没有问题的,那么这时发生了什么? ...
- NLP入门(十一)从文本中提取时间
在我们的日常生活和工作中,从文本中提取时间是一项非常基础却重要的工作,因此,本文将介绍如何从文本中有效地提取时间. 举个简单的例子,我们需要从下面的文本中提取时间: 6月28日,杭州市统计局权 ...
- datetime 2017-10-21 10:09:02.560 转年月日的时间类型
sql语句时间转年月日格式: 适用于多种时间格式 select REPLACE(STUFF(CONVERT(char(10), REPLACE(CONVERT(varchar(10),'2017-1 ...
- Java获取当前时间年月日、时间格式化打印、字符串转日期
package com.sysc.simple; import java.text.ParseException; import java.text.SimpleDateFormat; import ...
- MYSQL 提取时间中的信息的 4 方法
方法 1. year(),month(),day() 方法 2. dayofweek(),dayofmonth(),dayofyear(); 方法 3. hour(),minute(),second( ...
- js HTML 年月日星期 时间的
效果格式:2019 年 04 月 13 日 星期六 13 : 24 : 49上面的类名有多余的 因为这是之前项目中的 方便以后使用 <!DOCTYPE html> <html> ...
- scala转换date提取年月日时分秒
从数据库提取出来的时间为 String 格式,现在需要转换为 date 并提取出里面的 小时 时间段: import java.text.SimpleDateFormat import java.ut ...
- excel函数提取身份证出生日期,分离日期时间的日期和时间
1.提取身份证出生日期 =1*TEXT(MID(H13,7,8),"0-00-00")用MID函数提取表示日期的位数,再用text函数转换为格式1998-6-21格式的文本,再通过 ...
- 解析Linux内核的基本的模块管理与时间管理操作---超时处理【转】
转自:http://www.jb51.net/article/79960.htm 这篇文章主要介绍了Linux内核的基本的模块管理与时间管理操作,包括模块加载卸载函数的使用和定时器的用法等知识,需要的 ...
随机推荐
- 深入分析linux调度机制
一.说明 本文以linux-2.4.10 为例主要分析Linux 进程调度模块中的schedule 函数及其相关的函数.另外相关的前提知识也会说明.默认系统平台是自己的i386 架构的pc. 二.前提 ...
- Vim升华之树形目录插件NERDTree安装图解【转】
本文转载自:http://www.linuxidc.com/Linux/2013-06/86048.htm 无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文 ...
- eclipse相关技巧总结
原文:http://licoolxue.iteye.com/blog/619983 eclipse作为被广泛使用的ide,基本的使用技巧每个人都会一些,然而可能并未充分发掘其潜力,也许我们并没有真正认 ...
- 并不对劲的bzoj3214:p3333:[ZJOI2013]丽洁体
题目大意 有三个由若干个单词组成的字符串\(T,A,B,C(|T|,|A|,|B|,|C|\leq 5*10^4,单词长度\leq5,每个单词出现次数\leq500)\) 求从\(T\)中至少删去多少 ...
- artemplate include
include用于嵌入字模板 {{include 'template_name'}} 子模板 默认共享当前的数据 也可以自己指定数据 {{include 'template_name' templat ...
- 【187】◀▶ 编辑博客的文本格式 & 装饰
参考:博客园页面设置 参考:共享一下我的自定义CSS博客皮肤(2012.3) 一.文字周围带框框 插入一个代码,要折叠式,如下图所示: 史蒂夫 示例 选中“示例”,将其拷贝,然后黏贴,就有如下的效 ...
- 【412】Linux 系统编译 C 程序
1. 直接编译,会自动生成 a.out 文件,此文件即为可执行文件 # 编译 *.c 文件,生成可执行文件 a.out gcc euclide.c # 直接运行如下,如果没有输入和输出文件的话 # & ...
- Fiddler对https抓包时,提示"HTTPS decryption is disabled."原因及破解
Fiddler对https抓包时,提示"HTTPS decryption is disabled." 原因:没有启用 https 解密. 破解: ----------------- ...
- spring boot+mybatis报错mapper无法注入
搭建spring boot项目时启动出现的问题,先来看异常片段: Error starting ApplicationContext. To display the conditions report ...
- ls -l 详解
ls -l 是文件系统的一个命令,用来查询当前路径的文件的属性.大小等详细信息