C#时间转整型(时间戳),模仿php strtotime函数的部分功能

今天需要将一个基于MS SQL数据库的新闻系统数据导入phpcms v9,源系统新闻日期格式为"2014-01-15 10:45:49",
而phpcms中使用的是整型时间戳,在php中很简单,用strtotime()即可;
在C#中,需要自己写函数,步骤如下:

步骤1.先计算phpcms中时间戳所用基准时间:
1             TimeSpan ts = new TimeSpan(0,0,0,1389753949);
2             DateTime now = Convert.ToDateTime("2014-01-15 10:45:49");
3             DateTime baseTime = now - ts;
4             Response.Write(baseTime.ToString());
5             Response.Write("<br/>");

  显示在页面上的是1970-1-1 8:00:00,得到了基准时间

步骤2.转换时间为整型时间戳:
1  //基准为"1970-1-1 8:00:00"时间转整数
2             baseTime = Convert.ToDateTime("1970-1-1 8:00:00");
3             ts = DateTime.Now - baseTime;
4             long intervel = (long)ts.TotalSeconds;
5             Response.Write("当前时间转换为:" + intervel.ToString());
得出的整数是从1970-1-1 8:00:00到当前的秒数,即phpcms v9 中 v9_news 表里 inputtime列、updatetime列值来源

 

 
 

附录:

日期转换为时间戳

PHP 提供了函数可以方便的将各种形式的日期转换为时间戳,该类函数主要是:

  • strtotime():将任何英文文本的日期时间描述解析为时间戳。
  • mktime():从日期取得时间戳。

strtotime()

strtotime() 函数用于将英文文本字符串表示的日期转换为时间戳,为 date() 的反函数,成功返回时间戳,否则返回 FALSE 。

语法:

int strtotime ( string time [, int now] )

参数 time 为被解析的字符串,是根据 GNU 日期输入格式表示的日期。

例子:

<?php
echo strtotime("2009-10-21 16:00:10");	//输出 1256112010
echo strtotime("10 September 2008");	//输出 1220976000
echo strtotime("+1 day"), "<br />";	//输出明天此时的时间戳
?>

转载于:https://www.cnblogs.com/chutianshu1981/p/3547888.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值